htaccess使用&符号重定向

时间:2014-12-10 12:28:03

标签: regex .htaccess redirect

我有一个简单的301 Redirect,我需要在有一些网址更改的网站上实施。除了两个以外的所有工作正常,并且两个在URL中没有&符号(实际上是%26):

Redirect 301 /search/21/0/Hair-%26-Beauty /search/21/0/1/Make-up-and-Hair-%26-Beauty

有没有办法可以让Redirect命令正确解析%26?我会尝试使用&但这些是两个URL需要的。

从我读过的内容我只需要逃避%26,但我不确定如何,甚至不知道如何。

感谢您提供任何信息。


这是我的.htaccess文件的开头。没有其他规则可能发生冲突:

RewriteEngine on
RewriteRule ^(.*)/$ /$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]
RewriteRule ^search/([^/]*)/([^/]*)/([^/]*)/(.*)$ /search.php?S=$1&C=$2&P=$3 [L]
Redirect 301 /search/1/0/Photography http://www.example.com/search/1/0/1/Wedding-Photography

1 个答案:

答案 0 :(得分:0)

您可以使用mod_rewrite规则,%26用作\x26。在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

RewriteRule ^search/21/0/Hair-\x26-Beauty/?$ /search/21/0/1/Make-up-and-Hair-%26-Beauty [L,NE,NC,R=301]