誰かが私のウェブサイトの RewriteRule を書くのを手伝ってくれるかどうか疑問に思っています。
次の URL を見て、どのように書き換える必要があるかを確認してください。
http://www.example.com/essays-and-reports/
does not need to be re-written, it is a physical folder on the web server.
http://www.example.com/essays-and-reports/business/
needs to rewrite to (root)/first_level_template.php
http://www.example.com/essays-and-reports/dynamic_name2
needs to rewrite to (root)/first_level_template.php
http://www.example.com/essays-and-reports/business/financial-reports/
needs to rewrite to (root)/second_level_template.php
http://www.example.com/essays-and-reports/blah/financial-reports/C_B_2413_Report_on_savings.php
needs to rewrite to (root)/final_level_template.php
末尾のスラッシュに関係なく、ルールが機能する必要があることに注意してください。要約すると、関連するテンプレートに書き直す必要がある 3 つのレベルがあります。上記のいずれも、最終レベルの PHP ファイルを含め、サーバー上に物理的に存在しません。存在する唯一のものは、ウェブサイトのメイン フォルダーであるエッセイ アンド レポート フォルダーです。
このようなことを試しましたが、ログにコンパイルエラーが表示されます。
RewriteRule ^([^/]+)/([^/]+)/?$ /second-level-template\.php [L]
必要なルールを書くのを手伝ってくれたら、とても感謝しています。
編集: このコードの種類は機能しますが、必要のないエッセイとレポートのフォルダーも書き換えます...
Options +FollowSymLinks
RewriteEngine On
RewriteBase /essays-and-dissertations/
RewriteRule ^[^/]+/[^/]+/[^/]+/?$ /final_level_template.php [L]
RewriteRule ^[^/]+/[^/]+/?$ /second_level_template.php [L]
RewriteRule ^[^/]+/?$ /first_level_template.php [L]