НЕ получается сделать 301 редирект

BS
На сайте с 14.10.2011
Offline
5
811

Не могу сделать 301 редирект. У клиента было два сайта, один старый и имеет трафик, второй молодой трафика нет. Решили старый домен повешать на тот сайт что новый (он клиенту больше нравится, к тому же старый был сделан на голом html, без админки). Настроили редирект с домена нового сайт на домен старого сайта, все работает. Что бы не терять трафик решили сделать редиректы тех страниц что имеют трафик на новые страницы (урлы ведь сменились), но редирект почему то не срабатывает, ни как не могу понять почему. Может кто что подскажет?

Файл .htaccess

#Глобалы нам не нужны

#php_flag register_globals off

#Слешировать кавычки также не требуется
#php_flag magic_quotes_gpc off

#Запретим получать урлы при помощи fopen()
#php_admin_value allow_url_fopen off

#При получении ошибки - сообщаем об этом скрипту
ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
#ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html

RewriteCond %{HTTP_HOST} ^www\.domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domen-STAROGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [R=301,L]

Redirect 301 /transformers/ http://www.domen-STAROGO-sajta.ru/page/realiz.html

#Запрещаем листинги каталогов
Options -Indexes

#Разрешаем переходы по символьным ссылкам
Options +FollowSymlinks

#Редирект для форума
#RedirectMatch ^forum/(.*)$ http://forum.yoursite.ru/$1

RewriteEngine On

#Правила для скачивания: отдаем любой контент только через скрипт
#НЕ УДАЛЯЙТЕ И НЕ КОММЕНТИРУЙТЕ СТРОКУ НИЖЕ!!!! ЭТО ЧРЕВАТО ВЗЛОМОМ!!!
RewriteRule ^uploads/(.*)$ download.php?download=$1 [L]

#Если запрашиваемый ресурс не папка и не файл - это ЧПУ
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Если файл - картинка. Нафик надо сообщать об этом системе... Это ж целую страницу придется генерить из-за случайной глупости, что тяжело для сервера...
RewriteCond %{REQUEST_URI} !\.(css|js|jpe?g|gif|png|bmp)$
RewriteRule ^(.*)$ index.php?$1&%{QUERY_STRING} [L]
Andreyka
На сайте с 19.02.2005
Offline
822
#1

Для начала проверь, что сервер вообще обрабатывает .htaccess

Не стоит плодить сущности без необходимости
BS
На сайте с 14.10.2011
Offline
5
#2
Andreyka:
Для начала проверь, что сервер вообще обрабатывает .htaccess

Переадресация с домена на домен ведь работает, или это не говорит о том что сервер обрабатывает .htaccess ? И как вообще это проверить?

Andreyka
На сайте с 19.02.2005
Offline
822
#3

Переадресацию можно сделать через DNS или веб-сервер.

Проверить легко - по логам.

BS
На сайте с 14.10.2011
Offline
5
#4

Переделал файл .htaccess:

Options +FollowSymLinks +ExecCGI


AddType text/x-component .htc

AddDefaultCharset utf-8

<IfModule mod_rewrite.c>
RewriteEngine On

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

# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /

# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]

# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f

# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]


RewriteCond %{HTTP_HOST} ^www\.domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domen-STAROGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [R=301,L]

Redirect 301 /transformers/ http://www.domen-STAROGO-sajta.ru/page/realiz.html

</IfModule>

URL нормально редиректится, но под нужным урлом почему то открывается главная страница

BS
На сайте с 14.10.2011
Offline
5
#5

Переделал файл .htaccess:

Options +FollowSymLinks +ExecCGI


AddType text/x-component .htc

AddDefaultCharset utf-8

<IfModule mod_rewrite.c>
RewriteEngine On

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

# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /

# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]

# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f

# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]


RewriteCond %{HTTP_HOST} ^www\.domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domen-STAROGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [R=301,L]

Redirect 301 /transformers/ http://www.domen-STAROGO-sajta.ru/page/realiz.html

</IfModule>

URL нормально редиректится, но под нужным урлом почему то открывается главная страница

Andreyka
На сайте с 19.02.2005
Offline
822
#6

Значит неверно расписаны правила рерайта

[Удален]
#7
RewriteCond %{HTTP_HOST} ^www\.domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domen-NOVOGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^domen-STAROGO-sajta\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen-STAROGO-sajta.ru/$1 [R=301,L]

Redirect 301 /transformers/ http://www.domen-STAROGO-sajta.ru/page/realiz.html

#Запрещаем листинги каталогов
Options -Indexes

#Разрешаем переходы по символьным ссылкам
Options +FollowSymlinks

#Редирект для форума
#RedirectMatch ^forum/(.*)$ http://forum.yoursite.ru/$1

RewriteEngine On

Сначала нужно включить mod_rewrite, а потом настраивать редиректы. Выделенная строка должна быть раньше.

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