我有这个URL:
http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla-(Portes-Gratis)我需要把它重定向到
http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla它不工作,我认为问题出在支架上。
我的代码:
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-(Portes-Gratis)?$ http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla [R=301,L]发布于 2013-08-08 22:11:50
由于.htaccess使用RegEx来匹配URL,而括号是RegEx特殊字符,因此您需要对它们进行转义:
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-\(Portes-Gratis\)$ http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla [R=301,L]此外,不要忘记通过将以下代码放在.htaccess文件的顶部来启用重写引擎。
RewriteEngine on发布于 2013-08-08 22:14:01
您所问的并不是特定于.htaccess的,而是所谓的正则表达式,或者更具体的是mod_rewrite Apache Extensions中使用的正则表达式的风格。
你会发现these 在那里解释过,就像你假设的那样,括号是特殊的字符。
它们具有特殊的含义(分组),因此不能仅按“原样”(逐字)使用,而需要转义。这是通过在具有特殊含义(如(或))的字符前面加上\来实现的,这会给它返回" character“含义:
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-\(Portes-Gratis\)?$ ...我希望本文的解释和链接能帮助您在重写规则中编写所有这些正则表达式。
https://stackoverflow.com/questions/18128103
复制相似问题