Htaccess help - динамические поддомены - PullRequest
1 голос
/ 10 июня 2011

Я много искал для этого и перепробовал много вещей, которые нашел в Интернете, но замечание сработало для меня.


Как я могу сделать, когда пользователь заходит на эту страницу:

http://subdomain.domain.com/

Он показывает ему эту страницу (не перенаправляет):

http://www.domain.com/?x=subdomain

А когда пользователь заходит на эту страницу:

http://subdomain.domain.com/number/

Он показывает ему эту страницу (не перенаправляет):

http://www.domain.com/?x=subdomain&y=number

А когда пользователь заходит на эту страницу:

http://subdomain.domain.com/string/number/

Он показывает ему эту страницу (не перенаправляет):

http://www.domain.com/?x=subdomain&z=string&y=number

Кроме того, изменение значения субдомена и изменение числового значения

Дополнительная информация: Apache / 2.2.16 (Unix) mod_ssl / 2.2.16 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635


Пожалуйста, объясните код, если можете ...


Спасибо:)

1 Ответ

0 голосов
/ 11 июня 2011

Это похоже на запрос кода, а не на вопрос, но сегодня я чувствую себя хорошо. Итак, вот оно.

RewriteEngine On
RewriteRule ^index2\.php - [L]
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteCond %{HTTP_HOST} !^(www\.)example\.com [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.example.com [NC]
RewriteRule ^([^/]+/)?([^/]+/)? index2.php?x=%2&y$1&z=$2 [L,QSA]

index2.php необходим, потому что в противном случае перезапись застрянет в цикле (вы можете просто включить index.php внутри него, поэтому нет необходимости копировать код) Для этого и предназначена строка 2. Если он обнаружит, что перезапись уже выполнена, он на этом остановится. Строка 3 гарантирует, что перезапись не происходит в основном домене. В строке 4 берется часть субдомена (www. Необязательно) и помещается в% 2. Строка 5 выбирает необязательную первую и вторую папку и использует их вместе с именем субдомена для создания ожидаемого URL. Обратите внимание, что '/' включено в y и z, потому что в противном случае правилу пришлось бы легко разбираться во многих скобках.

...