我遇到的问题是,当URL包含一个存在的目录时,URL会随着文件的大小而改变。
更具体地说,这就是发生的事情:
当我转到domain.com/cron/xxx
然后在我的PHP脚本中,uri
将是:
cron/xxx
但如果文件夹Cron
存在,则uri
将为:
Cron/xxx
有谁知道导致这种情况发生的原因?
这是我的.htaccess
文件:
RewriteEngine On
#remove www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^api
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?uri=api/$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?uri=$1 [L,QSA]
答案 0 :(得分:0)
我不是非常精通ModRewrite,但你可以尝试:
RewriteMap lc int:tolower
然后在你的规则中使用它:
RewriteRule (.*) ${lc:$1} [R=301,L]