我有一个简单的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
答案 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]