Измените DirectoryIndex на основе домена/поддомена в .htaccess
У меня есть общий хостинг с одним доменом и одним поддоменем (для мобильных и клиентов). Каждый домен и поддомены имеют разные страницы индекса по умолчанию. Хостинговая компания сказала мне поместить все в мой файл .htaccess, так как у меня нет доступа к httpd.conf.
Я хочу сделать следующее:
- Если пользователь переходит к domain1.com, то
DirectoryIndex
должен быть: index.html
- Если пользователь переходит на mobile.domain1.com,
DirectoryIndex
должен быть: mobile-index.html
- Если пользователь отправляет post.domain1.com,
DirectoryIndex
должен быть: post.php
- Если пользователь отправляется на голосование .domain1.com,
DirectoryIndex
должен быть: vote.php
Изменить:
Кроме того, если я перейду в domain1.com/page/, DirectoryIndex
должен быть: index.html
. Если я перейду на mobile.domain1.com/page/, DirectoryIndex
должен быть: mobile-index.html
Что я могу поместить в файл .htaccess, чтобы изменить DirectoryIndex
для каждого поддомена?
Спасибо, очень mich
Ответы
Ответ 1
<IfDefine>
не работает. <IfDefine>
запускается только при запуске apache. Вы должны пойти с mod_rewrite решением. Посмотрите ответ @tzakrajs.
Вы можете использовать это в файле .htaccess:
SetEnvIf Host ^www\. page=www
SetEnvIf Host ^mobile\. page=mobile
rewriterule ^.*$ test.php?subdomain=%{ENV:page} [QSA,L]
Просто настройте весь свой поддомен, используя SetEnvIf
, а затем просто дайте PHP сделать свою магию.
Ответ 2
Попробуйте следующее:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain1.com$
RewriteRule ^.*/$ index.html [R=302,L]
RewriteCond %{HTTP_HOST} ^mobile.domain1.com$
RewriteRule ^.*/$ mobile-index.html [R=302,L]
RewriteCond %{HTTP_HOST} ^post.domain1.com$
RewriteRule ^.*/$ post.php [R=302,L]
RewriteCond %{HTTP_HOST} ^vote.domain1.com$
RewriteRule ^.*/$ vote.php [R=302,L]
Ответ 3
Вы можете установить, используя только файл oyur .htaccess
следующим образом:
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
RewriteRule DirectoryIndex index.html
RewriteCond %{HTTP_HOST} ^mobile.domain.com$ [NC]
RewriteRule DirectoryIndex mobile-index.html
...