Как я могу изменить все субдомены, чтобы читать различный контент из их соответствующих подкаталогов? - PullRequest
0 голосов
/ 17 декабря 2010

Мой DNS настроен на прием любого субдомена (подстановочный знак *), но у меня возникают проблемы с передачей необходимого содержимого в браузеры.

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

Например, example.domain.com/picture.jpg фактически запросит файл на public_html/example/picture.jpg

В настоящее время я протестировал следующий код .htaccess, но он не работает:

RewriteCond %{HTTP_HOST}   ^(.*)\.domain\.com$ [NC]
RewriteRule ^(.*)$         %1/$1 [L]

Этот код и аналогичные тесты могут перенаправлять на основе поддомена (% 1), но, похоже, проблема в строке запроса ($ 1).

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

Может быть, вы могли бы взглянуть на модуль mod_vhost_alias:

http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html

0 голосов
/ 17 декабря 2010

Попробуйте следующее:

    RewriteCond %{HTTP_HOST} ^([0-9a-z-]+).domain.com [NC]
    RewriteRule ^/(.*) http://domain.com/%1/$1 [L]

Я не тестировал этот, но я использую аналогичные правила для прокси:

RewriteCond %{HTTP_HOST} !^domain.local [NC]
RewriteCond %{HTTP_HOST} ^([0-9a-z-]+).domain.com [NC]
RewriteRule ^/(.*) http://domain.local/%1/$1 [P]
...