如何使用.htaccess将大写请求重定向到小写

时间:2013-12-25 03:50:33

标签: apache .htaccess mod-rewrite

我想将/ BroWse / tiTLE等网址重定向到/ browse / title,但不包括像/js/Ae2bDF.js这样的网址

目前我正在使用

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule [A-Z] ${lower:%{REQUEST_URI}} [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

它可以匹配大写的网址,但是将它们重定向到主页,出了什么问题?

1 个答案:

答案 0 :(得分:3)

啊,因为我忘了定义lower过滤器。

我添加了

RewriteMap  lower int:tolower

到我的apache conf文件,然后它开始工作。

此RewriteMap只能在apache conf或虚拟机配置文件中设置, RewriteRule可以在conf文件或.htaccess文件中。