首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带括号的url的.htaccess重定向

带括号的url的.htaccess重定向
EN

Stack Overflow用户
提问于 2013-08-08 22:03:35
回答 2查看 2.6K关注 0票数 1

我有这个URL:

代码语言:javascript
复制
http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla-(Portes-Gratis)

我需要把它重定向到

代码语言:javascript
复制
http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla

它不工作,我认为问题出在支架上。

我的代码:

代码语言:javascript
复制
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-(Portes-Gratis)?$ http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla [R=301,L]
EN

回答 2

Stack Overflow用户

发布于 2013-08-08 22:11:50

由于.htaccess使用RegEx来匹配URL,而括号是RegEx特殊字符,因此您需要对它们进行转义:

代码语言:javascript
复制
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-\(Portes-Gratis\)$ http://www.suplementospt.com/Goldnutrition-Pack-3x-Mega-Cla [R=301,L]

此外,不要忘记通过将以下代码放在.htaccess文件的顶部来启用重写引擎。

代码语言:javascript
复制
RewriteEngine on
票数 4
EN

Stack Overflow用户

发布于 2013-08-08 22:14:01

您所问的并不是特定于.htaccess的,而是所谓的正则表达式,或者更具体的是mod_rewrite Apache Extensions中使用的正则表达式的风格。

你会发现these 在那里解释过,就像你假设的那样,括号是特殊的字符。

它们具有特殊的含义(分组),因此不能仅按“原样”(逐字)使用,而需要转义。这是通过在具有特殊含义(如())的字符前面加上\来实现的,这会给它返回" character“含义:

代码语言:javascript
复制
RewriteRule ^Goldnutrition-Pack-3x-Mega-Cla-\(Portes-Gratis\)?$ ...

我希望本文的解释和链接能帮助您在重写规则中编写所有这些正则表达式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18128103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档