2015-04-14 4 views
1

У меня есть URL-адрес, который заканчивается.htaccess 301 редирект и специальных символов Выпуск

/presentation/Item?k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=& 

Что мне нужно перенаправить http://domain.co.uk/films/ehss/

Но когда я использую следующий; он не работает; Я пробовал убегать от специальных символов, как? добавив a \ before it, но до сих пор не радуя.

Если все это используется, все это добавляется к самому началу файла htaccess на сайте wordpress.

Это то, что я пытался:

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

Я заглянул посмотреть, если какой-либо из других символов специальные символы, и они не являются. Кроме того, я не думаю, что могу использовать REGEX для этого, поскольку у меня около 50 URL-адресов в том же формате, что и выше, которые нужно перенаправить на дружественные URL-адреса seo.

+0

PS. Все остальные стандартные переадресации работают с указанным выше методом, где нет специальных символов – UNB

ответ

2

Вы можете разобрать QUERY_STRING с помощью mod_rewrite

RewriteEngine On 

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

Вы не можете соответствовать строке запроса с помощью директивы Redirect. Вы можете использовать переменную в соответствии с запросом uri и строкой запроса следующим образом:

RewriteEngine On 

RewriteCond %{THE_REQUEST} /presentation/Item\?k=ZW52aXJvbm1lbnRhbC1oZWFsdGgtc2FmZXR5LXNlY3VyaXR5LWVuZ2xpc2g=& [NC] 
RewriteRule^/films/ehss/? [R=301,L] 
Смежные вопросы