私は最近IIS=からApacheに切り替えましたが、不注意にも一部のリンクに大文字の問題があります。URLをすべて小文字またはすべて大文字に書き換える方法について話している人はかなりいますが、何かが必要です。 Apacheの大文字と小文字を区別しないようにするだけです。これは.htaccessで可能ですか?
追加
CheckSpelling on
あなたの.htaccess
ファイルはもちろんRewriteEngineを有効にした後
最終的なコードは
RewriteEngine on
CheckSpelling on
それが最善で最も安全な方法だと思います。
AllowOverride none
AllowOverride All
httpd.conf
ファイル。htaccessファイルが正しく機能するようにします。
CheckSpelling
が機能せず、PHPを使用している場合は、404ページにPHPリダイレクトを追加して、小文字バージョンのURLにリダイレクトできます。最初に、まだ行っていない場合は、次のコードを.htaccessファイルに追加します(必要に応じて、ファイルを404.php以外の名前で呼び出すこともできますが、PHPファイルである必要があります)。 :
ErrorDocument 404 /404.php
次に、404.phpの先頭に次のコードを追加します(HTTPSを使用している場合は、2行目でhttp://
をhttps://
に変更します)。
if(preg_match("/[A-Z]/", $_SERVER["REQUEST_URI"])){
header("location:http://" . $_SERVER["HTTP_Host"] . strtolower($_SERVER["REQUEST_URI"]));
exit();
}
このコードは、単純な正規表現を使用して、要求されたURIに大文字が含まれているかどうかを確認し、含まれている場合は、小文字で同じページにリダイレクトします。