2017-02-02 2 views
0

Мы хотим перенаправить Ниже упомянутого URL.301 Rewrite Rule Не работает

От URL:

www.example.com/itemLevelFilterPage.action?keyWordTxt=&srchTyp=CATNAV&attrFilterList=attr_brand%3A%223M%22&resultPage=0 

Для URL: www.example.com/4G

Мы написали 301 правил в апача конфигурации, как показано ниже.

RewriteEngine on 
RewriteRule ^/itemLevelFilterPage.action?keyWordTxt=&srchTyp=CATNAV&attrFilterList=attr_brand%3A%223M%22&resultPage=0 /4G [L,R=301] 

Но перенаправление не работает должным образом. Любое предложение будет высоко оценено.

ответ

2

mod_rewritewill not look at query strings как часть его согласования, если вы специально не попросите его:

RewriteCond %{REQUEST_URI} ^/itemLevelFilterPage\.action$ 
RewriteCond %{QUERY_STRING} ^keyWordTxt=&srchTyp=CATNAV&attrFilterList=attr_brand%3A%223M%22&resultPage=0$ 
RewriteRule (.*)   http://www.example.com/4G? [R=301,L] 

Первое условие убеждается мы смотрим на правой странице, второй проверяет строку запроса и правила переписывает URL-адрес на желаемый.

Обратный знак вопроса в правиле гарантирует удаление старой строки запроса. Если вы на Apache 2.4 строку запроса отбрасывания флаг доступен:

RewriteRule (.*)   http://www.example.com/4G [R=301,L,QSD] 

Больше examples here.

+0

Он отлично работает. Большое спасибо. – user2693302