Перенаправление динамического субдомена со структурой directroy в один файл
У меня есть доменное имя с подстановочным знаком DNS. Что я хочу написать в htaccess, так это то, что когда пользователь набирает abc.domain.com/news/news-details.php, он должен отправить запрос в файл news.php с аргументами val=abc. У меня в htaccess следующий код
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com
RewriteCond %{REQUEST_URI} ^news/news-details\.php$
#RewriteCond %{QUERY_STRING} !^id=.
RewriteRule (.*) /news.php?div=%1 [L]
Но это выбрасывает ошибку 404. что является основной частью следующие две строки, чтобы объяснить
запрос www.domain.com/news/news-details.php
идет к www.domain.com/news.php
а также abc.domain.com/news/news-details.php
идет как www.domain.com/news.php?val=abc
Обратите внимание, что я не перенаправляю. URL-адреса будут отображаться как динамический поддомен. физически не будет папки. все файлы находятся в корне.
1 ответ
Решение
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com [NC]
RewriteCond %{HTTP_HOST) !^www\.
RewriteRule ^news/news-details.php$ /news.php?div=%1 [NC,QSA,L]