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

SD
На сайте с 15.11.2015
Offline
1
#11
siv1987:
/catalog/zapchast? [R=301,L]

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

торможу, спасибо)), все работает

KA
На сайте с 24.07.2007
Offline
86
#12

Сейчас для каждого паркованного домена прописываю вот такую конструкцию (пример для ru и для рф).

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

RewriteCond %{HTTP_HOST} ^primer\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.primer\.ru$
RewriteRule ^/?$ "http\:\/\/mysite\.ru\/primer\-ru" [R=302,L]

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

Данная конструкция:

редиректит primer.ru и www.primer.ru на mysite.ru/primer-ru

редиректит пример.рф и www.пример.рф на mysite.ru/пример-рф

НО, все урлы, вида

primer.ru/*любойнаборсимволов*

пример.рф/*любойнаборсимволов*

Не редиректит! Открывает прямо по этим урлам, и грузит страницу 404.

Подскажите, пожалуйста:

как сделать, чтобы primer.ru/*любойнаборсимволов* редиректил на mysite.ru/primer-ru?

Сейчас я прописываю для каждого домена свои три строчки.

Можно ли сделать, чтобы все паркованные домены редиректились одной универсальной конструкцией?

SeVlad
На сайте с 03.11.2008
Offline
1609
#13

Что-то меня тоже клинит.

Надо с доменов www.site.ru и site.ru отредиректить на поддомен old.site.ru урлы статик файлов с параметрами и без оных. Т.е. отредиректить вида:

/anyurl.php
/anyurl.php?anypar=anyvar&anypar2=anyvar2
/?anypar=anyvar&anypar2=anyvar2
/anydir/anyurl.php?anypar=anyvar&anypar2=anyvar2
/anydir/?anypar=anyvar&anypar2=anyvar2

При этом не редиректить морду (без индекс. файла, те. httр://www.site.ru, httр://site.ru, httр://www.site.ru/ и httр://site.ru/ не редиректить, а httр://www.site.ru/index.php-редеректить) и из определённых каталогов, не зависимо от наличия параметров.

Т.е. не редиректить вида


/myurl.php?anypar=anyvar&anypar2=anyvar2
/mydir/myurl.php?anypar=anyvar&anypar2=anyvar2
/mydir/?anypar=anyvar&anypar2=anyvar2

где

anyurl, anydir - любой урл, каталог.

myurl, mydir - определённые урл, каталоги.

Каталоги могут быть вложенные. Кол-во и набор параметров тоже разные.

Как это все в хтацессе нарисовать?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
irisat
На сайте с 20.03.2012
Offline
197
#14
KrAB:
Подскажите, пожалуйста:
как сделать, чтобы primer.ru/*любойнаборсимволов* редиректил на mysite.ru/primer-ru?

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

Попробуйте что то типа такого:


RewriteCond %{HTTP_HOST} ^(.*) [OR]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://mysite.ru/%1 [R=302,L]
LocalBitcoins (https://goo.gl/1Yxi8M) | Бот обменник (https://goo.gl/bPTaiF) - Покупка и продажа bitcoins! Биржа криптовалют №1 (https://goo.gl/6r6icz) - более 350 пар!
J
На сайте с 20.02.2014
Offline
120
jkm
#15

Редирект для всех доменов кроме .рф и остальных в Punycode


RewriteCond %{HTTP_HOST} ^(?:www\.)?+(?!xn--)([^.]+)\.([^.]+)$
RewriteRule (.*) http://mysite.ru/%1-%2/$1 [R=301,L]
siv1987
На сайте с 02.04.2009
Offline
427
#16

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

RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /\ HTTP/

RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /(myurl|mydir/)

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

Как-то так

KA
На сайте с 24.07.2007
Offline
86
#17
jkm:
Редирект для всех доменов кроме .рф и остальных в Punycode

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

Большое спасибо, теперь не нужно прописывать для каждого домена отдельно.

Только вот с url test1.ru/*любыесимволы* перебрасывает на http://mysite.ru/test1.ru/*любыесимволы*

Как сделать, чтобы эти любые символы отбрасывал и перекидывал на http://mysite.ru/test1.ru ?

---

И еще, cpanel зачем-то создает для каждого добавленного домена поддомены к самому первому (который я указал, когда создавал аккаунт у хостера).

Можно ли прописать одной конструкцией, чтобы с domain1.mysite.ru перебрасывал так же, на mysite.ru/domain1-ru ? Для всех доменов.

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

Сбросить GET параметры можно добавив знак вопроса

http://mysite.ru/%1-%2/$1?

Если там кроме доменов RU нет других COM ORG и тд.


RewriteCond %{HTTP_HOST} ^(?:www\.)?+(?!xn--)([^.]+)\.mysite\.ru$
RewriteRule (.*) http://mysite.ru/%1-ru/$1? [R=301,L]
KA
На сайте с 24.07.2007
Offline
86
#19
jkm:
Сбросить GET параметры можно добавив знак вопроса
http://mysite.ru/%1-%2/$1?

Вот так?

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

Не работает. Пересылает, но все что после слеша не отрезает.

В cpanel, кстати, почему-то не работает "групповое перенаправление", (когда его ставишь, появляется галочка "подстановочный знак". Если домены запаркованы на свою папку, то работает, если домены запаркованы на одну папку главного домена, как в моем случае, то нет.

ПРИМЕЧАНИЕ.

Установите флажок «Групповое перенаправление», чтобы перенаправлять запросы ко всем файлам в каталоге к таким же файлам в каталоге перенаправления.

Вы не можете использовать групповое перенаправление для перенаправления основного домена в другой каталог на вашем сайте.

Что делать? Переезжать на другую панель? На ispmanager так же?

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

Тогда так


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

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