8

私の .htaccess:

RewriteEngine On
CheckCaseOnly On
CheckSpelling On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^Blog/(.*?)$ /Me/profile.php?username=$1 [QSA,L]

問題は、URL が次のような場合に機能することです。

localhost/Me/Blog/ExampleUser

しかし、次のような場合は機能しません (「Blog」の「b」が小文字であることに注意してください):

localhost/Me/blog/ExampleUser

XAMPPの新しいバージョンで実行しています。PHP 構成に mod_speling.so があるにもかかわらず、動作しないのは奇妙です。

何が問題ですか?

4

2 に答える 2

1

問題は、書き換えルールで大文字と小文字が区別されることです。したがって、書き換えルールは次のようになります。

RewriteRule ^[Bb]log/(.*?)$ /Me/profile.php?username=$1 [QSA,L]

出来上がりは修正されています。

mod_speling.so はこれとは何の関係もありません。

于 2013-05-16T05:36:33.357 に答える