Как я могу сделать перенаправления на основе поддоменов в .htaccess? - PullRequest
0 голосов
/ 07 октября 2009

.htaccess:

RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.example\.com
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteCond %{QUERY_STRING} !^id=.
RewriteRule (.*) /index.php?id=%1 [L]

Ожидаемое поведение:

Если существует поддомен (test.example.com), он переходит в папку /service/, а если его нет, он переходит в папку /site/.

Пример поведения:

test.example.com/post?id=2 -> public_html/service/post.php?id=1
test.example.com/category?id=3 -> public_html/service/category.php?id=3

example.com/register.php -> public_html/site/register.php

1 Ответ

0 голосов
/ 07 октября 2009

Попробуйте эти правила:

RewriteCond %{HTTP_HOST} !=www.example.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$
RewriteRule !^service/ service/index.php?id=%1 [L]

RewriteCond %{HTTP_HOST} =example.com
RewriteRule !^site/ site%{REQUEST_URL} [L]
...