Правила перезаписи поддоменов для доступа к файлам, чтобы не влиять на файлы основного сайта - PullRequest
0 голосов
/ 05 октября 2011

Я настроил виртуальный поддомен. и я хочу сделать htaccess для достижения следующего потока

Для www.domain.com

он должен вызывать индексный файл, но для субдомена

abc.domain.com

Правило перезаписи должно быть похоже на

RewriteRule www.domain.com/index.php?var=abc

я имею в виду, что он должен (в HTACCESS) передавать поддомен в индексный файл в качестве аргумента

и для других файловых запросов, таких как

abc.domain.com/file.php

Субдомен должен быть переписан как www.domain.com/file.php?var=abc

Я имею в виду правило перезаписи как

RewriteRule www.domain.com/file.php?var=abc

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

Решение выглядит примерно так

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^(.*)$   http://www.domain.com/index.php?subdomain=%1 [L]


RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteCond %{QUERY_STRING}  !^$
RewriteRule ^(.*)$   http://www.domain.com%{REQUEST_URI}?%{QUERY_STRING}&subdomain=%1 [L]
0 голосов
/ 05 октября 2011

Это будет то, как вы могли бы сделать их на индивидуальной основе.

RewriteCond %{HTTP_HOST} ^abc\.domain\.com$ [NC]
RewriteRule (.*)$ http://www.domain.com/file.php?var=abc [L]

RewriteCond %{HTTP_HOST} ^def\.domain\.com$ [NC]
RewriteRule (.*)$ http://www.domain.com/file.php?var=def [L]
...