Как сделать редирект (301, 302). Общая тема

S
На сайте с 30.09.2016
Offline
469
#491
artmichurinsk:
нет, я уже писал. что не работает это правило
поставил вверх , эффект тот же

Во-первых, не писали - у Вас там неправильное окончание было в редиректе. А во-вторых, если сервер правильно настроен, то не может не работать. И да, я там чуть поправил для отсечки возможного хвоста на страницах форума. Обычно там всякие гет-параметры бывают.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
A
На сайте с 11.04.2008
Offline
103
#492

Sitealert, верно не писал, но это то же пробовал... ни в какую

при том что старый редирект такого вида пашет уже несколько лет:


RewriteCond %{QUERY_STRING} (^|&)t=([0-9]+)(&|$) [NC]
RewriteRule ^viewtopic\.php$ /forum/threads/%2? [L,R=301,NC]
RewriteCond %{QUERY_STRING} f=(\d+)$ [NC]
RewriteRule ^(viewforum\.php|viewtopic\.php)$ /forum/forums/%1? [L,R=301,NC]
RewriteCond %{QUERY_STRING} (^|&)p=([0-9]+)(&|$) [NC]
RewriteRule ^viewtopic\.php$ /forum/posts/%2? [L,R=301,NC]

это я с движка на движок переезжал в свое время

Мото эвакуатор (http://eduya.ru/)
S
На сайте с 30.09.2016
Offline
469
#493

Значит, здесь Вам едва ли кто поможет. Это гадание на кофейной гуще получается - что там на Вашем сервере творится.

И кстати, по Вашей добавленной информации - уберите переадресацию на forum, иначе куча мала получается, вплоть до зацикливания.

A
На сайте с 11.04.2008
Offline
103
#494

Sitealert, заработало вот это:

RedirectMatch 301 ^/forum/.*$ http://сайт.ru/

RewriteEngine on
D
На сайте с 06.08.2013
Offline
57
#495

Это стандартный файл htaccess в вордпрес:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Помогите вставить правильно эту строку

ErrorDocument 404 https://www.mysite.ru/nuzhnayastraniza

Если я оставляю только ее и удаляю стандартные строки которые выше, тогда открывается только главная страница сайта, но редирект работает. Но, если я ее вставляю где угодно в вышеописанные строки тогда редирект не работает.

P.S. Мне нужно чтобы конкретная ссылка которую я создам в битлы сервисе на любую несуществующую страницу моего сайта перенаправлялась на другой сайт который я задам в строке ErrorDocument 404. Спасибо!

M
На сайте с 15.06.2010
Offline
58
#496

Здравствуйте, подскажите, как сделать чтобы срабатывал 301 редирект если посетитель заходит с определенного сайта, в данном случае с яндекса.

ТО есть, например сайт1.ру и сайт2.ру

Мне нужно чтобы когда посетитель заходил с яндекса на любую страницу первого сайта, его перенаправляло на соответствующую страницу второго сайта.

Как сделать простой редирект я знаю

RewriteCond %{HTTP_HOST} ^сайт1.ру$ [NC]

RewriteRule (.*) http://сайт2.ру/$1 [R=301,L]

А вот сделать чтобы он отрабатывал только по реферер, не пойму как

Также нужно чтобы для яндексботы также перенаправлялись как и простые посетители с яндекса.

Вообщем буду благодарен тому кто поможет.

Хостинг Таймвеб (http://timeweb.com/ru/?i=3452) - не только виртуальные, но и выделенные и VDS
VH
На сайте с 30.03.2011
Offline
61
#497

Привет!

Нуждаюсь в коллективном разуме, так как своего не хватает.. :)

Есть сайт https://www.site.com/

и у него языковые версии:

https://www.site.com/en/

https://www.site.com/de/

https://www.site.com/es/

нужно сделать htaccess 301 редирект некоторых языковых версий на другой домен с аналогичной языковой версией:

https://www.site.com/de/ на https://site.net/de/

https://www.site.com/es/ на https://site.net/es/

https://www.site.com/xx/ на https://site.net/xx/

https://www.site.com/yy/ на https://site.net/yy/

Подскажите правильное решение этой задачи.

Спасибо!

M
На сайте с 15.06.2010
Offline
58
#498
maxop:
Здравствуйте, подскажите, как сделать чтобы срабатывал 301 редирект если посетитель заходит с определенного сайта, в данном случае с яндекса.

ТО есть, например сайт1.ру и сайт2.ру
Мне нужно чтобы когда посетитель заходил с яндекса на любую страницу первого сайта, его перенаправляло на соответствующую страницу второго сайта.

Как сделать простой редирект я знаю
RewriteCond %{HTTP_HOST} ^сайт1.ру$ [NC]
RewriteRule (.*) http://сайт2.ру/$1 [R=301,L]

А вот сделать чтобы он отрабатывал только по реферер, не пойму как
Также нужно чтобы для яндексботы также перенаправлялись как и простые посетители с яндекса.
Вообщем буду благодарен тому кто поможет.

Может кому то пригодиться, у меня получилось так:

RewriteCond %{HTTP_REFERER} ^http://yandex\.ru

RewriteCond %{HTTP_HOST} ^(www.)?domen1.ru$

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

RewriteCond %{HTTP_USER_AGENT} (Yandex) [NC]

RewriteCond %{HTTP_HOST} ^(www.)?domen1.ru$

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

J
На сайте с 20.02.2014
Offline
120
jkm
#499
vit_hol:

нужно сделать htaccess 301 редирект некоторых языковых версий на другой домен с аналогичной языковой версией:

https://www.site.com/de/ на https://site.net/de/
https://www.site.com/es/ на https://site.net/es/
https://www.site.com/xx/ на https://site.net/xx/
https://www.site.com/yy/ на https://site.net/yy/


RewriteCond %{HTTP_HOST} =www.site.com [NC]
RewriteRule ^(de|es|xx|yy)/.*$ https://site.net/$0 [R=301,L]
oxojeck
На сайте с 12.11.2014
Offline
59
#500

Ребят, стоит 301 со страницы на страницу, работает. Не перенаправляет только с главной, выдает 403, в чем косяк? Вот код:


RewriteCond %{HTTP_HOST} ^oldsite\.com
RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.oldsite\.com
RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]

Заранее спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий