2015-04-14 26 views
1

我有结束的.htaccess 301重定向和特殊字符问题

/presentation/Item?k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=& 

,我需要重定向到http://domain.co.uk/films/ehss/

但是当我用下面的一个URL;它不工作;我试过逃脱特殊字符,如?在它之前加入一个\但仍然没有喜悦。

如果它的任何用途都被添加到一个WordPress网站的htaccess文件的开头。

这是我一直想:

Redirect 301 /presentation/Item\?k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=& http://domain.co.uk/films/ehss/ 

我看着看看是否有任何其他字符是特殊字符,它们不是。此外,我不认为我可以使用REGEX,因为我有大约50个网址,所有格式都与上面需要重定向到友好网址的格式相同。

+0

PS。所有其他标准重定向都可以在没有特殊字符的情况下使用上述方法 – UNB

回答

2

可以使用mod_rewrite

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=&$ [NC] 
RewriteRule ^presentation/Item$ http://domain.co.uk/films/ehss/? [R=301,L] 
0

使用Redirect指令不能匹配查询字符串解析QUERY_STRING。您可以使用THE_REQUEST变量来匹配请求uri和查询字符串,如下所示:

RewriteEngine On 

RewriteCond %{THE_REQUEST} /presentation/Item\?k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=& [NC] 
RewriteRule^/films/ehss/? [R=301,L]