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

KA
На сайте с 24.07.2007
Offline
86
#21
jkm:
Тогда так

RewriteCond %{HTTP_HOST} ^(?:www\.)?+(?!xn--)([^.]+)\.([^.]+)$
RewriteRule ^ http://mysite.ru/%1-%2/? [R=302,L]

Спасибо, все заработало! :)

А с доменами .рф такое возможно реализовать?

J
На сайте с 20.02.2014
Offline
120
jkm
#22

На каждый домен .рф по отдельному правилу


RewriteCond %{HTTP_HOST} ^(?:www\.)?XN--E1AFMKFD\.xn--p1ai$
RewriteRule ^ http://mysite.ru/пример-рф/? [R=302,L]
KA
На сайте с 24.07.2007
Offline
86
#23
jkm:


RewriteCond %{HTTP_HOST} ^(?:www\.)?+(?!xn--)([^.]+)\.mysite\.ru$
RewriteRule (.*) http://mysite.ru/%1-ru/$1? [R=301,L]

Убрал $1 и получилось то, что мне нужно.

В общем вот эта конструкция решает вопрос с поддоменами, которые генерирует cpanel:

RewriteCond %{HTTP_HOST} ^(?:www\.)?+(?!xn--)([^.]+)\.firstsite\.ru$
RewriteRule (.*) http://mysite.ru/domains/%1-ru/? [R=301,L]

Итого, получатся так:

www.poddomen.firstsite.ru -> mysite.ru/domains/poddomen-ru

и так

poddomen.firstsite.ru/*любыесимволы* -> mysite.ru/domains/poddomen-ru

jkm, еще раз спасибо!) Несколько строчек кода, и теперь не надо для каждого домена отдельно что-то прописывать)

---------- Добавлено 29.11.2015 в 01:48 ----------

Только теперь, у доменов, с которых стоит редирект не открывается robots.txt

http://primer.ru/robots.txt редиректится на mysite.ru/domains/primer-ru

Теперь как бы ПС не начали индексировать паркованные домены.

Достаточно ли прописать в mysite.ru/robots.txt запрет индексации директории /domains/?

L
На сайте с 29.11.2015
Offline
0
#24

Прошу помощи у знатоков, есть .htaccess который редиректит все запросы на один скрипт.

Необходимо сделать так, что если в запросе встречается 'admin' то редиректа не происходит

заранее спасибо

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)$ ./get.php?out=$1

siv1987
На сайте с 02.04.2009
Offline
427
#25

Скорее реврайтит на один скрипт.

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{REQUEST_RULE} !admin

RewriteRule ^(.*)$ ./get.php?out=$1

J
На сайте с 20.02.2014
Offline
120
jkm
#26
siv1987:

RewriteCond %{REQUEST_RULE} !admin

Там надо исправить на

RewriteCond %{REQUEST_URI} !admin

siv1987
На сайте с 02.04.2009
Offline
427
#27
jkm:
Там надо исправить на

Да, спасибо что поправили. Писал с телефона.

KA
На сайте с 24.07.2007
Offline
86
#28
jkm:
На каждый домен .рф по отдельному правилу

RewriteCond %{HTTP_HOST} ^(?:www\.)?xn--e1afmkfd\.xn--p1ai$
RewriteRule ^ http://mysite.ru/пример-рф/? [R=302,L]

Редиректит только сам пример.рф с www и без.

Только вот пример.рф/*любыесимволы* выдает 404 ошибку.

RewriteCond %{HTTP_HOST} ^xn--e1afmkfd\.xn--p1ai$ [OR]

RewriteCond %{HTTP_HOST} ^www\.xn--e1afmkfd\.xn--p1ai$
RewriteRule ^/?$ "http\:\/\/mysite\.ru\/пример\-рф\" [R=302,L]

Такой тоже пробовал с вопросом в конце. Не получается отбросить все что после слеша.

V
На сайте с 30.11.2015
Offline
0
#29

Здравствуйте! Прошу помощи, в решение возникшей проблемы. Поменял url страниц на сайте.

Было mysite.ru/page35

Стало mysite.ru/elektromontazh

Пытаюсь сделать 301 редирект, как это описано на доступных ресурсах, но толком ничего не получается.

Варианты которые пробовал:

1)Redirect 301 /page35 mysite.ru/elektromontazh

в этом варианте редирект не работает, перекидывает на главную, ответ от сервера вот такой:

http://mysite.ru/elektromontazh?path=page35

2)Redirect 301 /page35 mysite.ru/index.php?path=elektromontazh

В этом варианте редирект срабатывает, перекидывает на нужную страницу, ответ от сервера такой:

http://mysite.ru/index.php?path=elektromontazh

Но в данном варианте, хотелось бы убрать index.php?path= из url.

Помогите плиз,

Вот htaccess:

Options -Indexes

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

RewriteRule ^sitemap\.xml$ sitemap.php [L]

RewriteRule ^([0-9]+)\.rss$ rss.php?id=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-s

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule (.+) ./index.php?path=$1 [L,QSA]

AddType video/webm .webm

AddType video/mp4 .mp4

AddType video/ogg .ogv

siv1987
На сайте с 02.04.2009
Offline
427
#30

RewriteRule ^page35$ /elektromontazh? [R=301,L]

добавить после RewriteEngine on

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