Войти

Показать полную графическую версию : [решено] Редирект на новый домен


kirillius
14-10-2015, 10:13
Здравствуйте.

У сайта нашей организации сменился домен, соответственно нужно сделать редирект.
В htaccess в папке www на веб-сервере прописал Redirect 301 http://newdomain.ru
Редирект заработал, но зачастую внутри сети организации на сайт надо заходить по прямому внутреннему ip-адресу, но при этом редирект тоже срабатывает.
Как сделать так, чтобы редирект был только при переходе по старому домену, а при переходе по ip он не срабатывал?

Доп. информация:
Сервер Windows Server 2008 Standard
Веб-сервер Apache 2.2
Сайт на PHP (+ Joomla)

mar
14-10-2015, 10:37
Ну, например, через mod_rewrite в .htaccess

## включаем mod_rewrite если нужно
RewriteEngine on

## собственно редирект
RewriteCond %{HTTP_HOST} ^старый_домен\.ru$ [NC]
RewriteRule ^(.*)$ http://новый_домен_полностью/$1 [R=301,L]

kirillius
14-10-2015, 10:51
Попробовал. Редирект не происходит, и сайт выдаёт вот такую ошибку:

Forbidden
You don't have permission to access /site/index.php on this server.

И опять же, с таким спообом при входе на сайт по ip редирект тоже происходит, а этого надо избежать...

kirillius
14-10-2015, 11:41
Разобрался. Вот так заработало всё как надо:

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^старый_домен\.ru$ [NC]
RewriteRule ^(.*)$ http://новый_домен_полностью/$1 [R=301,L]

Я не знаю что такое "Options +FollowSymLinks", но без него не работало...

Habetdin
15-10-2015, 01:27
Я не знаю что такое "Options +FollowSymLinks", но без него не работало... »
Включение обработки символических ссылок. При некоторых конфигурациях веб-сервера модуль mod_rewrite не работает без этого (и сообщает в лог "You must enable SymLinks for this to work").
[hr]В целях безопасности рекомендуется использовать вместо FollowSymLinks опцию SymLinksIfOwnerMatch которая проверяет владельца файла и символической ссылки.




© OSzone.net 2001-2012