На страницу 1, 2 След. |
|
|
Добрый день.
В общем, имеются страницы вида site.ru/index.php?option=com_content&view=category&layout=blog&id=7&Itemid=11
Через обыкновенный Redirect 301 их записать нельзя т.к. в url передаются параметры: option=com_content&view=category&layout=blog&id=7&Itemid=11
Обратился к хостеру, они написали следующее:
Чтобы устранить проблему необходимо использовать RedirectMatch, либо RewriteCond RewriteRule, потому что директива Redirect не передаёт php параметры запроса, а работает только с URL.
у меня не получается их записать, подскажите как записать эти перенаправления используя RedirectMatch или RewriteCond RewriteRule? Спасибо!
Мы не смогли подобрать удобное Вам решение.
В данном случае, для корректной настройки редиректов, советуем обратиться к разработчикам.
В связи с этим прошу помощи у форумчан! Заранее, Спасибо! |
|
|
|
|
|
Почитай документацию по mod_rewrite и регуляркам, если хочешь сделать это через .htaccess
Хотя в твоем случае похоже лучше сделать на php. |
|
|
|
|
|
я почитал, но не могу разобраться самостоятельно... да, именно, через .htaccess хотел сделать
на php даже не пытался, если честно |
|
|
|
|
|
|
Просто в htaccess прописываешь
RewriteRule откуда куда. |
|
|
|
|
|
DrKronos писал(а): |
Просто в htaccess прописываешь
RewriteRule откуда куда.
|
Все верно, только я не могу разобраться как его записать самостоятельно, можете написать хотя бы один пример перенаправления для моего случая? |
|
|
|
|
|
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://site.ru/ [R=301,L] |
|
|
|
|
|
DrKronos писал(а): |
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://site.ru/ [R=301,L]
|
перенаправление с одного url на другой url2 мне нужно |
|
|
|
|
|
DrKronos писал(а): |
Просто в htaccess прописываешь
RewriteRule откуда куда.
|
Нет, нет Вы не так поняли, мне не нужно пренаправление с www на без.... у меня совсем другая проблема!
Мне нужно перенаправить с одного url на url2 . Обычно это делается с использованием Redirect 301 /old.html http://site.ru/new.html но у меня стоят еще параметры в урл, которые нельзя передать таким способом (см. выше ответ хостера). |
|
|
|
|
|
rz00007, объясни по человечески, что и куда ты хочешь редиректить? |
|
|
|
|
|
ок, максимально просто объясню:
как перенаправить страницу 1
site.ru/index.php?option=com_content&view=article&id=9&Itemid=8
на страницу 2
site.ru/index.php?option=com_aicontactsafe&view=message&layout=message&pf=1&Itemid=8 |
|
|
|
|
|
Попробуй так
Код: |
RewriteEngine on
RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=9&Itemid=8$
RewriteRule ^index.php$ http://test1.ru/index.php?option=com_aicontactsafe&view=message&layout=message&pf=1&Itemid=8 [L,R=301]
|
http://govnokod.com/6498 |
|
|
|
|
|
exolon, большое спасибо! Работает!
А Вы не подскажете еще как перенаправить:
site.ru/index.php?option=com_content&view=article&id=9&Itemid=8
на
site.ru
что-то не могу разобраться в синтаксисе? |
|
|
|
|
|
Да все так же.
Только кажется мне что где-то здесь с амперсандами ошибка
9&It
Где-то так получается
RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=9&Itemid=8$
RewriteRule ^index.php$ http://test1.ru/ [L,R=301]
Т.е. в RewriteRule второй параметр - на что нужно заменить. |
|
|
|
|
|
|