我试图将大写网址重定向为小写,但却有点噩梦! (主要是因为缺乏我的.htaccess知识!)
目前我有:
<IfModule mod_speling.c>
CheckSpelling on
</IfModule>
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
哪种方法可以正常使用,但我使用的CMS会在网址中添加分页链接,例如http://website.com/blog/P8
或http://website.com/blog/P10
,因为网址有大写字母P(似乎被要求)他们是404或301重定向。
我是否可以添加一条规则,使其无法获取具有P
并且后面至少有一个数字字符的网段?可能是正则表达式?
任何帮助将不胜感激!
答案 0 :(得分:2)
您可以像这样创建一个例外:
DO
BEGIN
....
DECLARE CURSOR C1 AS .....
....
END
或使用否定前瞻:
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteCond %{REQUEST_URI} !/P\d+/?$ [NC]
RewriteRule (.*) ${lc:$1} [R=301,L]