1
有没有一种方法可以使用正则表达式来重定向(301)URL他int .htacces中的方式,domain.com/My_Name.html
将被重定向到domain.com/my-name
? 需要与-
全部更换_
,小写字符的和减去“.HTML”.htaccess字符重定向操作
编辑: 我需要全部更换_
字符,不管有多少人是在URL中。
有没有一种方法可以使用正则表达式来重定向(301)URL他int .htacces中的方式,domain.com/My_Name.html
将被重定向到domain.com/my-name
? 需要与-
全部更换_
,小写字符的和减去“.HTML”.htaccess字符重定向操作
编辑: 我需要全部更换_
字符,不管有多少人是在URL中。
RewriteEngine on
RewriteRule ^(\w+)_(\w+)\.html$ ${tolower:$1}-${tolower:$2}
尚未测试,但我敢肯定,这将工作。
谢谢!唯一的问题是我不知道“_”字符的数量......我需要全部替换它们,不管它们中有多少个。对不起,以前不提的 – Joel 2010-11-22 08:59:54
@Joel你应该可以合并规则:尝试'RewriteRule _ \ -',然后是'RewriteRule ^([\ w - ] +)。html $ $ {tolower:$ 1}'。因为它具有[特殊含义](http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule)作为替换字符,所以我逃脱了'-'。 – jensgram 2010-11-22 09:12:03
它看起来像apache不承认“tolower”,因为它只是重定向我的“ - ”而忽略了字符串,但我会用我的方式工作:)谢谢! – Joel 2010-11-22 09:30:08