Как это сделать с помощью Htaccess - PullRequest
1 голос
/ 02 апреля 2011

Я использую следующий код в моем htaccess-файле

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteCond %{REQUEST_URI} !^/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /www/$1

RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteRule ^(/)?$ www/index.php [L]

Что он делает, когда загружается www.website.com, он загружает свое содержимое из каталога /www/ и сохраняет параметр urlТо же самое (что является УДИВИТЕЛЬНЫМ).

В любом случае, сейчас я хочу, чтобы при загрузке любого поддомена (кроме www) я хотел загружать его содержимое из каталога /subdomain/ и сохранять URL-адрес.параметр тот же (то есть не отображается subdomain в адресной строке / URL).

1 Ответ

1 голос
/ 02 апреля 2011

Возможно, вам нужно что-то, что ссылается на часть RewriteCond, поэтому вы можете использовать это как папку поддомена.

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).website.com [NC]
RewriteRule ^(/)?$ %2/index.php [NC,QSA]

% 2 ссылается на второе совпадение токена (в скобках - токены) в регулярном выражении, которое соответствует в RewriteCond
[NC] означает без дела
[QSA] означает добавление строки запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...