7 редиректов. Какой правильный?

SA
На сайте с 05.08.2008
Offline
5
373

Здравствуйте. В общем, что смог найти - привожу здесь. Оттого и вопрос: как правильно??? Разница в пунктах 1 и 2: пробелы между знаками "каре" имеют значение?, а в 1 пункте "каре" в третьей строке вообще нет?.. Это важно? Ведь кто-то (типа меня) и пользуется. Где есть знак "$", где его нет - забыли прописать?.. Пункты 6 и 7 вообще загадка. Надо полагать, что можно на себя одеяло потянуть с какого-то чужого сайта что ли (выделено жирным)? Странно это всё.


1.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ site.ru
RewriteRule (.*) http://www.site.ru /$1 [R=301,L]

2.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

3.
<IfModule mod rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^site\ .ru
RewriteRule ^(.*) $ http://www.site.ru/$1 [R=permanent,L]
<IfModule>

4.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
</IfModule>

5.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

6.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru [NC]
RewriteRule ^(.*)$ http://www.site.by/$1 [L,R=301]

7.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?site_other\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
ErrorDocument 404 http://site.ru
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

Пробелы - лишние.

Экранирование точки в урле иногда не обязательно (зависит от настроек).

Гуглить пробовали?

SA
На сайте с 05.08.2008
Offline
5
#2
Гуглить пробовали?

это-то понятно, пробовал, оттого и спрашиваю, т.к. на всевозможных форумах пишут код по разному; и совсем не новички.

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#3

Дык практика - критерий истины.

в .htaccess:

# Запуск mod_rewrite
RewriteEngine on

#перенаправление с www.site.ru на site.ru
RewriteCond %{HTTP_HOST} ^www\.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
SA
На сайте с 05.08.2008
Offline
5
#4


RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Совсем непонимаю в этом ничего.. Т.е. знак "^" всё-таки пропустил кто-то?..:) Что и хотелось услышать, спасибо.

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#5

^ - начало строки

$ - конец строки

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