2013-11-18 6 views
0

Я не могу удалить строку запроса из redirection htaccess. Я попробовал Лотта и гугл ALS для this..but ничего не похоже на работуудалить строку запроса при перенаправлении htaccess

Вот мой код:

Сначала я попробовал это одно, но техника его подводит работало:

Redirect 301 /my_page.aspx?ps=22.5000&pe=44.9900 http://www.mysite.com/35-new-items 

Тогда я попробовал:

RewriteCond %{QUERY_STRING} (^|&)ps= 
RewriteCond %{QUERY)STRING{ (^|&)pe=4 
RewriteRule ^/?my_page\.aspx$ /35-new-items? [L,R=301] 

Но снова это также не сработало для меня.

Тогда я попробовал это и, как обычно это и не похоже на работу:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(?:my_page\.aspx)?\?p=1 [NC] 
RewriteRule^/35-new-items? [R=301,L] 

Пожалуйста, помогите мне!

Мне нужно перенаправить старые страницы с разными значениями строки запроса в новую. Старые страницы находятся в ASPX, а новые страницы находятся в PrestaShop.

Таким образом, оно перенаправляется как http://www.mysite.com/35-new-items?ps=22.5000&pe=44.9900.

Как удалить эту часть:

?ps=22.5000&pe=44.9900 

от URL назначения?

+0

Не могли бы вы включить общие 'from_uri' и' to_uri'? Вы хотите перенаправить запрос с конкретными параметрами, а не с запросами вообще? – Filou

+0

Я хочу перенаправить эту страницу www.mysite.com/my_page.aspx?ps=22.5000&pe=44.9900 на www.mysite.com/35-new-items Где ps = "Любое значение" и pe = "Любое значение «Он перенаправляется, но с этими значениями PS и PE (строка запроса). Как удалить эту строку запроса при перенаправлении? – vanurag

+0

Можете ли вы предоставить свой текущий .htaccess в своем вопросе? – anubhava

ответ

0

Это будет лучше (проверено на Debian/Apache2):

RewriteEngine On 
RewriteCond %{QUERY_STRING} (^|&)(ps|pe)= [NC] 
RewriteRule ^/?my_page\.aspx$ /35-new-items? [L,R=301] 
+0

Не работал! Он перенаправляется, но с теми же параметрами строки запроса. – vanurag

+0

Я также очистил кеш браузера. и я также тестировал на другой машине .. но показывал строку запроса на новом url .. :( – vanurag

+0

Внешний модуль, такой как PrestaShop, всегда усложняет ситуацию ... он может иметь дополнительную переписывание. Вопросительный знак удаляет всю строку запроса: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html – jacouh

0

Мое требование для Google SEO так, что я сделал это потому, что моя страница перенаправляет поэтому я удалил свой запрос строковое значение из текущий URL с помощью этого Smarty код

{$res=$smarty.server.REQUEST_URI|regex_replace:"~\?[^/]++~":" "} 

и использовали

<link rel="canonical" href="{Tools::getCurrentUrlProtocolPrefix()}{$smarty.server.HTTP_HOST}{$res}" /> 

так, что с можно использовать анонизацию, чтобы избежать дублирования содержимого страницы.

+0

Мы должны дождаться эксперта '$ smarty', чтобы помочь нам ... Является ли это действие кода на уровне PHP? – jacouh

+0

Этот код работает под смарт-файлом TPL. Фактически весь сайт построен на CMS [http://www.prestashop.com/](PrestaShop) – vanurag

Смежные вопросы