Ошибка 301 редиректа.

Главные вкладки

Аватар пользователя lawbreak@drupal.org lawbreak@drupal.org 25 ноября 2008 в 13:07

Возникла проблема с 301 редиректом в .хтаккесе, при это суть проблемы не очень понятна.
Есть сайт: http://www.a-15.ru/
Изначально он был простой хтмл визиткой и, разумеется, юрлы были простые,типа:

Что странно, конструкция редиректа у обоих адресов одинакова:

Redirect 301 /about.html http://www.a-15.ru/arenda-mashin-sankt-peterburg
Redirect 301 /autovprokat/lanos.html http://www.a-15.ru/prokat-lanos

Но при этом в первом случае редирект кидает:
http://www.a-15.ru/arenda-mashin-sankt-peterburg?q=about.html
что, естественно, не правильно. А во втором случае все проходит четко. Понятно, что это благодаря лишнему подкаталогу, т.к. подобные редиректы работают так же, но смысл мне не сильно понятен, все же в апаче и в его настройке я не силен. Если у кого-то была подобная проблема, помогите, пожалуйста, решить. Желательно без изменения юрл на юрлы с разрешением.

Комментарии

Аватар пользователя vll vll 1 августа 2009 в 18:34

Такая же ситуация. Тоже добавляет параметр ?q= в конец нужной ссылки после редиректа 301. Такое ощущение, что происходит соединение динамического и статического адреса. Кто-нибудь знает, как это можно решить?

Аватар пользователя pirrratka pirrratka 15 октября 2014 в 13:56

Resistant wrote:
Попробуйте такую кострукцию:

RewriteCond %{QUERY_STRING} ^(.*)old_path.html
RewriteRule ^(.*)$ http://site.ex/new_path.html? [R=301,L]

Огромное спасибо за это решение! Очень выручило!

Аватар пользователя vll vll 4 августа 2009 в 19:00

Resistant, редирект заработал, я уже обрадовалась... но выяснилось, что не работает редакция ноды, ссылка на редактирование вида node/1/edit редиректится на заданный адрес для node/1, т.е. жмешь редактировать, а страница просто обновляется и все!!!

Аватар пользователя yustnip yustnip 19 августа 2013 в 15:47
RewriteCond %{QUERY_STRING} ^(.*)old_path.html
RewriteRule ^(.*)$ http://site.ex/new_path.html? [R=301,L]

От меня тоже спасибо! Работает на Drupal 6 и хостинге Агава. Обычно хватает простой команды - Redirect 301, а тут только так.