Хостинг. Не работает редирект в .htaccess

hosting07
7 років
0

Добрый день. Прописываю такие строки в файле .htaccess, однако редирект не срабатывает. Выдает 404 ошибку.

Redirect 301 /product.html?section_id=58&view=product&product_id=446 адрес сайта/shop/product/38566/
Redirect 301 /product.html?section_id=62&view=product&product_id=358 адрес сайта/shop/product/38488/
Redirect 301 /product.html?section_id=6&view=product&product_id=67 адрес сайта/shop/product/38579/


Подскажите, что и как сделать чтоб срабатвал редирект?
Заранее спасибо.

Alik
7 років
1

У Вас, наверное, html есть в статичных файлах, поэтому на запрос отвечает nginx и до .htaccess дело не доходит.
Посмотрите в "Моих сайтах" -> "Настройки сайта" поле "Статические файлы". Если есть (у меня нашелся такой тип файла) - уберите и все заработает через некоторое время.

hosting07
7 років
0

Здравствуйте. Спасибо за ответ.
в том то и дело, что это изменение было сделано несколько дней назад (данный тип файла был удален из списка)

ipic.su/img/img7/fs/kiss_35kb.1409323639.jpg

Alik
7 років
1

Перепроверил на своем аккаунте и нашел причину: знак вопроса. Без него все работает хорошо, а с ним действительно 404.
В Вашем случае, ИМХО, стоит переделать редирект на, к примеру, такое:

RewriteCond %{QUERY_STRING} ^section_id=58&view=product&product_id=446$
RewriteRule ^product\.html$ адрес_сайта/shop/product/38566/ [L,R=301]

Что правда, старый query string будет передаваться и на новый адрес, а какой флаг добавить, чтобы это отключить, я что-то не могу вспомнить. ):
О, вспомнил! В конец адреса, НА который Вы хотите переместить посетителя, ставите знак вопроса. В примере подправил.

hosting07
7 років
0

отлично, большое спасибо ! :)

Alik
7 років
1

Добавьте вопросительный знак в конец адреса, на который перемещаете посетителя. Подправил свое предыдущее сообщение, но Вы его увидели раньше. (:

hosting07
7 років
0

Отлично, большое спасибо

Тема закрита.