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