Appahce RewriteRule: динамическое правило

M
На сайте с 22.02.2007
Offline
161
694

Мне нужно в зависимости от поддомена изменять точку входа на сайте, т.е. если обращение идет на основной домен, то точка входа: index.php, если api. то: index-api.php

Имеется ввиду видоизменение правила: RewriteRule . index.php

Возможно ли такое сделать?

Торрент Трекер Катушка - скачать фильмы (http://katushka.net) | SmartProgress - достижение целей (https://smartprogress.do/) Партнерская программа SmartProgress (https://smartprogress.do/affiliate)
iHead
На сайте с 25.04.2008
Offline
137
#1

Например, так:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^api\.test\.ru$
RewriteRule ^$ index-api.php [L]
Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
M
На сайте с 22.02.2007
Offline
161
#2
iHead:
Например, так:

Имеете ввиду так?:


RewriteCond %{HTTP_HOST} ^api\.smartprogress$
RewriteRule ^$ index-api.php [L]

RewriteRule . index.php

Тогда вся статика отдает 404

---------- Добавлено 31.10.2015 в 10:18 ----------

Вот мой полный htaccee:


AddDefaultCharset UTF-8

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP_HOST} ^api\.site$
RewriteRule ^$ index-api.php [L]

RewriteRule . index.php

Т.е. как я понимаю, правила:


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

начинают вести себя не корректно

Если меняю правила местами,


AddDefaultCharset UTF-8

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

RewriteCond %{HTTP_HOST} ^api\.site$
RewriteRule ^$ index-api.php [L]

то по запросу на api.site точка входа по прежнему index.php

iHead
На сайте с 25.04.2008
Offline
137
#3

поменяйте еще раз местами

M
На сайте с 22.02.2007
Offline
161
#4
iHead:
поменяйте еще раз местами

я пробовал 2 варианта, когда index.php сверху, и когда index-api.php сверху - не работает.

J
На сайте с 20.02.2014
Offline
120
jkm
#5

Думаю, будет достаточно замены RewriteRule ^$ на RewriteRule ^index\.php$


AddDefaultCharset UTF-8

RewriteEngine on

RewriteCond %{HTTP_HOST} ^api\.site$
RewriteRule ^index\.php$ index-api.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий