.htaccess区分大小写并重写mod_

.htaccess区分大小写并重写mod_,.htaccess,.htaccess,我的.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是这样时,它会工

我的.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是小写的?)

我正在新版本的XAMPP上运行它。这是wierd它不工作,即使我有mod_speling.so的PHP配置


问题是什么?

问题是重写规则区分大小写。因此,您的重写规则应该是:

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

莫德·斯佩林与此无关

使用[NC]标志会导致以不区分大小写的方式匹配重写规则。也就是说,它不在乎字母在匹配的URI中是大写还是小写


试试[QSA,L,NC],这样就可以进行比较了

你太棒了!谢谢你的帮助!:)
RewriteRule ^[Bb]log/(.*?)$ /Me/profile.php?username=$1 [QSA,L]