2013-04-03 3 views
1

Кажется, так просто, оказывается трудно найти ... В моем .htaccess файл Я хочу создать следующий RewriteRule:конкатенации строк в .htaccess

RewriteRule (.*)$ %{HTTP_HOST} + /home.html 

Может кто-то пожалуйста скажите мне, как сцепить в .htaccess переменный (HTTP_HOST) и строка (/home.html)

и нЕТ, я не могу перенаправить /home.html напрямую, так как этот файл .htaccess служит 2 различных областей, которые, как каждый из которых расположен в подкаталоге в моем вебпространстве. По-видимому, файл .htaccess не работает при вводе в подкаталог.

ответ

1

Нет необходимости в специальном «операторе конкатенации» или что-то еще - вы просто поместите ссылку на переменную в подстановку, она будет автоматически проанализирована.

Что вы должны иметь в виду, так это то, что %{HTTP_HOST} будет содержать только имя хоста, нет протокола - поэтому может потребоваться префикс его протокола, чтобы он не рассматривался как каталог.

RewriteRule .* http://%{HTTP_HOST}/home.html [R] 

должно работать. (Я добавил флаг [R] для явного перенаправления [который, я думаю, вы хотите?], Потому что иначе он может быть только внутренним, если хост соответствует текущему.)

+0

@ CBroe: Пятно на! Я уже пробовал ваше решение для конкатенации, но без префикса protocoll :( Теперь htaccess выполняет эту работу! Thnx, Arthur –

0

Вы хотите, чтобы вы перенаправляли и НЕ ОТПРАВИТЬ конкретный домен в /home.html? Просто используйте условие перезаписи:

Options +FollowSymlinks 
RewriteEngine on 

RewriteCond %{HTTP_HOST} domain1\.com$ 
RewriteRule ^/?$ /home.html [R] 

И, пожалуйста, объясните ваш вопрос кратко, так что я мог изменить код на правой.

+0

@ Слуга: Нет, мне действительно нужно rewriteRule из-за конфигурации двойного домена (см. Начальный вопрос) –

+0

Возможно, 'RewriteRule (. *) $ Http: //% {HTTP_HOST}/home.html' и теперь что вам нужно? – 5ervant

Смежные вопросы