1

次の.htaccess構成ディレクティブを使用しています(ファイル名以外のすべてのリクエストを単一のPHPファイルにリダイレクトするため)。

RewriteEngine on
Options +FollowSymLinks
RewriteBase /

RewriteRule !(\.ttf|\.eot|\.woff|\.xpi|\.xml|\.txt|\.air|\.exe|\.zip|\.pdf|\.ico|\.gif|\.jpg|\.png|\.jpeg|\.js|\.swf|\.css|\.php|\.html)$ mod_rewrite_redirector.php [L]

上記の正規表現の大文字と小文字を区別しないようにするにはどうすればよいですか?[L、NC]または最初に(?i)を配置してみました。NCオプションは、すべてのApache2インストール(さまざまなバージョン)で機能するわけではなく、(?i)は効果がありません。

拡張子が2〜4文字のファイル名のように見えるURLと一致しない正規表現を作成するにはどうすればよいですか?

ご協力ありがとうございました。

4

1 に答える 1

1

これを試して :

RewriteRule !\.[a-zA-Z0-9]{2,4}$ mod_rewrite_redirector.php [L]

しかし、サーバー上に存在しないファイルにリクエストをリダイレクトしたい場合は、以下を使用することをお勧めします:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . mod_rewrite_redirector.php [L]
于 2012-09-13T14:24:52.310 に答える