2017-07-07 8 views
1

を書き直す.htaccessファイル:私は、次の書き換えルールを持つルールの大文字と小文字を区別

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/.]+)/?$ /pages/acticle.$1.php [L] 

を現在は大文字と小文字が区別されます。私はこの制限を解除する必要があります。私は[L]を[NC、L]に変更しようとしましたが、うまくいきませんでした。私は何が欠けていますか?

+0

大文字と小文字を区別しないとはどういう意味ですか?正規表現には、大文字と小文字はありません。私はおそらくあなたの正規表現にもエラーがあると思います。 '.'はエスケープされず、負の文字クラスの一部です... – doublesharp

+0

すべてを小文字に書き換えようとしていますか? – doublesharp

答えて

2

パターンには大文字の文字が含まれていないため、NCを追加しても効果はありません。 RewriteRule^abcdeの場合、ABCDEと一致させたい場合は、ルールにNCを追加するとこれが行われます。

例のパターンは、.または/ではない文字に一度一致し、article.$1.phpの結果に追加されます。デフォルトでは、直接一致するものはすべてabc = article.abc.phpABC = article.ABC.phpなどとなります。

私はあなたの記事のすべてのファイル名は小文字であり、あなたは、ファイルのための一貫した命名で、その結果、abcABCAbCを書き換えたいことを推測している - の両方がarticle.abc.phpを取得します。その場合は、いくつかのオプションがありますlisted on this page - .htaccessのループを使用して大文字を小文字に置き換えてからRewriteMaphttp.confに入力するか、mod_spelingを使用してください。

関連する問題