2015-01-05 2 views
0

Мы включили разбивку на страницы на странице результатов поиска, где результаты были разбиты на несколько страниц. По разным причинам мы с тех пор отошли от этого.301 перенаправление на выключение разбивки на страницы

Ищу для следующего 301 перенаправления

переадресацию

1) www.example.com/index.php?query1=ABC&query2=XYZ&page= 
2) www.example.com/index.php?query1=ABC&query2=XYZ&page=0&query3=PQR 
3) www.example.com/index.php?query1=ABC&query2=XYZ&query3=PQR&page=1 
... 

По существу редирект должен охватывать все значения для запроса параметров 'страницы'

Перенаправить на

www.example.com/?query1=ABC&query2=XYZ&query3=PQR 

Я плохо разбираюсь в переадресации .htaccess и буду благодарен за помощь.

+0

Это хорошо. Удачи, выясняя это. У вас возникли вопросы? –

+0

@MarcB - Я думал, что упоминал в своем первоначальном вопросе, что искал 301 Redirect. Я отредактировал его, чтобы указать это жирным шрифтом – rogerb

+1

«Мне нужно» не вопрос. Это требование, чтобы кто-то другой выполнял вашу работу за вас. Покажите, что вы пытались, и мы, возможно, попробуем исправить это. –

ответ

0

Вы можете использовать этот код в файле DOCUMENT_ROOT/.htaccess:

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^(?:(.*?)&)?page=[^&]*(?:&(.*))?$ [NC] 
RewriteRule ^(index\.php)?$ ?%1&%2 [NC,NE,L,R=302] 
+1

Спасибо за ваш быстрый ответ. Сайт находится в прямом эфире, и я проведу ваше предложение позже сегодня вечером. Я приму этот ответ, как только подтвержу, что он работает. – rogerb

+0

Просто обратите внимание, что '/index.php? Query1 = ABC & query2 = XYZ & page =' будет перенаправлен на '/index.php? Query1 = ABC & query2 = XYZ', поскольку исходный URL не имеет параметра' query3'. – anubhava

+0

Спасибо @anubhava. Я хочу, чтобы поведение было таким, каким вы заявили. Однако код Rewrite не совсем сработал - т. Е. Перенаправление не произошло вообще. У меня есть другие инструкции RewriteRule в моем .htaccess. Может быть, причина, по которой это не работает. – rogerb