特定のページアクセスのリクエストを書き直していますが、いくつかのページに除外を追加したいと考えています。たとえば、リクエスト site.com/page/test を site.com/page.php?str=test に移動したいのですが、そのページではなく別のページに移動するために、ある文字列に除外を追加したいとします。 : site.com/page/contact は、site.com/contact.php に移動する必要があります。
これは私がしようとしている方法です:
RewriteRule ^static/mobile_app/?$ static/mobile_app.php [QSA,L]
RewriteRule ^static/([a-zA-Z0-9%.\-_]+)/?$ static/page.php?url_key=$1 [QSA,L]
ファイルの最後にもこれがあります:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? /static/page.php?url_key=404 [L]
奇妙なことに、次のルールを試してみるとうまくいきます。
RewriteRule ^static/mobile_app.php$ static/mobile_app.php [QSA,L]
RewriteRule ^static/([a-zA-Z0-9%.\-_]+)/?$ static/page.php?url_key=$1 [QSA,L]
つまり、拡張子を付けて完全なファイル名を書き込もうとすると、機能します。誰か助けてくれませんか?ありがとう。