Max_1

Max_1
Рейтинг
45
Регистрация
02.08.2012
stik.name:
Вечер добрый, есть попытка написать редирект всех урл с ? на главную страницу сайта, но есть ньюансы.

Вот попытка реализации, само собой не работает:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \?
RewriteCond %{REQUEST_URI} !.css$
RewriteCond %{REQUEST_URI} !.js$
RewriteRule ^(.*)$ http://%{HTTP_HOST} [R=301,L]


Условия при которых мы НЕ делаем редирект:
1. если файл из запроса действительно существует, например asdf.php или asdf.xml?asdsad и т.д. любое расширение
2. если урл вида /asd.css или /asd.css?fasf - не важно, существует этот файл или нет
3. если урл вида /asd.js или /asd.js?fasf - не важно, существует этот файл или нет

во всех остальных случаях редиректим на главную страницу сайта. Вот как ?

Не трогаем всё, что содержит точку (в основном расширения).

RewriteCond %{THE_REQUEST} \?

RewriteCond %{REQUEST_URI} !\.

RewriteRule . /? [R=301,L]

Аня1992:
Здравствуйте )
Помогите с редиректом. После настройки ЧПУ ссылки
https://site.ru/catalog/catalog-cat.php?id=1 стали https://site.ru/tovar.php
Попробовала
RewriteCond %{QUERY_STRING} id=1
RewriteRule ^poddon/poddon-cat\.php /quattro.php [R=301,L]

Не помогает(

Установите код сразу после RewriteEngine On.

Плюс добавьте знак вопроса, а именно: /quattro.php? [R=301,L]

Шансы 50/50.

Если ничего не происходит, значит адреса не совсем корректные. Можете написать в личку могу посмотреть.

Как-то так.

RewriteCond %{QUERY_STRING} ^func=viewcategory&catid=3$

RewriteRule ^katalog/ katalog/новый урл? [L,R=301]

Попробуйте так.

RewriteCond %{QUERY_STRING} ^_route_=

RewriteRule ^staty/9-2012-06-25-19-38-23.html staty/80-2012-06-25-19-38-23.html? [R=301,L]

Лучше конечно разобраться как появляется эта часть: _route_=

Попробуйте так:

RewriteRule ^ru/(.*) $1 [R=301,L]

Попробуйте включить рекомендованные правила сразу после RewriteEngine On. Плюс почистите кеш браузера.

Всего: 236