http://test.com/index2.php?option=com_ds-s...e=RSS&no_html=1
на новый
http://test.com/rss
казалось бы ничего сложного, пишем реврайт
RewriteEngine on
RewriteCond %{QUERY_STRING} option=com_ds-syndicate&type=RSS&no_html=1 [NC]
RewriteCond %{REQUEST_URI} /index2.php [NC]
RewriteRule .* /rss [R=301,L]
но эта зараза редиректит с полной строкой запроса, тоесть
http://test.com/rss?option=com_ds-syndicat...e=RSS&no_html=1
что очень некрасиво..
при чем если редиректить на другой домен, то редирект проходит без строки запроса, тоесть на
http://test2.com/rss
редирект сработает красиво.
как обойти? может кто сталкивался? в спецификации протокола HTTP к 301 редиректу не нашел ничего подобного, что должна прилагаться исходная строка запроса.
Да, можно сделать редирект через php, что сейчас и сделано, но интересно решить проблему чисто через апачевский htaccess, за сим прошу оставить предложения о альтернативных методах редиректа.
Спустя 22 минуты, 6 секунд (20.03.2010 - 04:33) qpayct написал(а):
если я не ошибаюсь, тыже сам задаёшь ему GET в описаном RewriteCond, который видимо сохраняется браузером так что единственное, что приходит на ум - обнулить GET POST на самой странице при входе
попробуй так
попробуй так
Redirect permanent /original.html http://new_domain.html/new.html
Redirect /olddirectory/original.html http://new_domain.com/newdirectory/newfile.html
Спустя 7 часов, 36 минут, 12 секунд (20.03.2010 - 12:09) jetistyum написал(а):
RewriteCond это Condition - условие, там проверяется переменная, и т.к. все это происходит в Apache, браузер не имеет отношения к этому, в браузер уже приходит заголовок переадресации вместе со строкой запроса.
Redirect не катит, т.к. там невозможно задать условия редиректа - строку запорса.
можно только все запросы на index2.php перенаправить в другое место, а мне нужно по конкретному гет-запросу.
Redirect не катит, т.к. там невозможно задать условия редиректа - строку запорса.
можно только все запросы на index2.php перенаправить в другое место, а мне нужно по конкретному гет-запросу.
Спустя 4 часа, 44 минуты, 43 секунды (20.03.2010 - 16:54) qpayct написал(а):
ну так это уже дело браузера а не .htaccess ты передал браузер принял, а теперь надо очистить.(это я так думаю)
Спустя 1 год, 24 дня, 14 минут, 7 секунд (14.04.2011 - 16:08) Фибер Оптик написал(а):
Здравствуйте!
У меня следующий вопрос:
существует такая конструкция
RewriteEngine On
RewriteRule ^catalog/diski.html$ catalog/?vcode=3526 [L]
Сейчас надо сделать перенаправление http://www.site.ru/catalog/diski.html на http://www.newsite.ru/catalog/pili-diskovie/
Для этого пишу Redirect 301 /catalog/diski.html http://www.newsite.ru/catalog/pili-diskovie/
Но результат выдаётся следующий:
происходит переадресация на страницу http://www.newsite.ru/catalog/pili-diskovie/?vcode=3526.
Подскажите, как убрать параметр?
Спасибо.
У меня следующий вопрос:
существует такая конструкция
RewriteEngine On
RewriteRule ^catalog/diski.html$ catalog/?vcode=3526 [L]
Сейчас надо сделать перенаправление http://www.site.ru/catalog/diski.html на http://www.newsite.ru/catalog/pili-diskovie/
Для этого пишу Redirect 301 /catalog/diski.html http://www.newsite.ru/catalog/pili-diskovie/
Но результат выдаётся следующий:
происходит переадресация на страницу http://www.newsite.ru/catalog/pili-diskovie/?vcode=3526.
Подскажите, как убрать параметр?
Спасибо.
Спустя 5 часов, 15 минут, 49 секунд (14.04.2011 - 21:23) kirik написал(а):
Можно попробовать так:
RewriteRule ^catalog/diski.html$ http://www.newsite.ru/catalog/pili-diskovie/ [R=301]
Спустя 11 часов, 11 минут, 28 секунд (15.04.2011 - 08:35) Фибер Оптик написал(а):
Спасибо!
Всё дело было в строке RewriteRule ^catalog/diski.html$ catalog/?vcode=3526 [L].
Её убрал и написал Redirect 301 /catalog/diski.html http://www.newsite.ru/catalog/pili-diskovie/.
Всё дело было в строке RewriteRule ^catalog/diski.html$ catalog/?vcode=3526 [L].
Её убрал и написал Redirect 301 /catalog/diski.html http://www.newsite.ru/catalog/pili-diskovie/.