Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Не работает 301 редирект


Автор: DARKVovich 17.6.2011, 10:34
Нужна помощь с перенаправлением со страницы http://balttranscom.ru/article на http://balttranscom.ru/article/

Пишу в .htaccess
Код

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

Не работает. Пробовал и такой вариант:
Код

RewriteRule ^article(.*)$ http:\/\/balttranscom\.ru\/article\/$1 [R=301,L]

то же.

Полный код файла:
Код

DirectoryIndex index.php
AddDefaultCharset windows-1251
php_value register_globals 0
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^www\.balttranscom\.ru$ [NC]
  RewriteRule ^(.*)$ http://balttranscom.ru/$1 [L,R=301]  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^([-a-z0-9]*)$ index.php?m=page&u=$1 [L,QSA]      
  RewriteRule ^([a-z]*)/$ index.php?m=$1 [L,QSA]
  RewriteRule ^([a-z]*)/([-a-z0-9]*)/$ index.php?m=$1&u=$2 [L,QSA]
  RewriteRule ^admin/([-a-z0-9]*)$ admin/index.php?m=$1 [L,QSA]
  RewriteRule ^article(.*)$ http:\/\/balttranscom\.ru\/article\/$1 [R=301,L]
</IfModule>

Автор: goga075 17.6.2011, 13:20
Ну а ты сделай редирект не ревритом. Добавь строку:

Код

Redirect 301 /article/ http://balttranscom.ru/article/

Автор: DARKVovich 17.6.2011, 16:24
Такой вариант хоть и работает, но не так как нужно. Мне же нужно просто, чтобы слэш дописывался, а если так прописать
Код

Redirect 301 /article http://balttranscom.ru/article/

Выдает http://balttranscom.ru/article//////////////

Автор: Wolf1994 18.6.2011, 09:13
Редирект:
Код

RewriteRule ^article([^/]*)$ http:\/\/balttranscom\.ru\/article\/$1 [R=301,L]

- надо указать до правила, которое также может обработать условный запрос:
Код

RewriteRule ^([-a-z0-9]*)$ index.php?m=page&u=$1 [L,QSA]  


([^/]*) - приведёт к захвату всех строк, кроме оканчивающихся слэшем, что также предотвратит повторную обработку уже сделанного редиректа.

Автор: DARKVovich 20.6.2011, 09:08
Wolf1994, спасибо огромное!!! Все работает.

Автор: DARKVovich 20.6.2011, 11:12
Но возникла другая проблема - если ставить до 
Код

RewriteRule ^([-a-z0-9]*)$ index.php?m=page&u=$1 [L,QSA]

то начинаются проблемы с главной - без слэша не загружается главная http://balttranscom.ru (точнее контент модуля), со слешом все ок.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)