htaccess внутреннее перенаправление с субдомена в корень - PullRequest
2 голосов
/ 30 января 2012

Я хочу внутренне перенаправить все со static.domain.com на www.domain.com.Обратите внимание, что static.domain.com является существующим поддоменом, я не хочу использовать подстановочные знаки.Я использовал этот код в поддомене .htaccess

RewriteCond %{HTTP_HOST} ^static\.domain\.com
RewriteRule ^(.*)$ http://domain.com/$1 [R=301]

, но я получаю сообщение об ошибке:

Запрещено

У вас нет прав доступа/ на этом сервере.

Заранее спасибо!

Редактировать: в моем корне у меня есть index.php, который обрабатывает мою инфраструктуру приложения.

похожеэто:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

Мой статический поддомен содержит только файл .htaccess, который выглядел именно так:

RewriteCond %{HTTP_HOST} ^static\.domain\.com
RewriteRule ^(.*)$ http://domain.com/$1 [R=301]

Я добавил RewriteEngine On, и теперь он перенаправляет меня извне (если я запрашиваюstatic.domain.com/css/style.css переводит меня на domain.com/css/style.css).Я хотел бы перенаправить внутренне (адрес в браузере не должен меняться).


Решение

Изучил немного флаги apache RewriteRule и нашел решение.Я использовал флаг P для прокси.Вот файл .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^static\.outletika\.com
RewriteRule ^(.*)$ http://outletika.com/$1 [R=301,P]

1 Ответ

1 голос
/ 09 сентября 2013

Это правильное решение:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^static\.outletika\.com
RewriteRule ^(.*)$ http://outletika.com/$1 [R=301,P]
...