apache - перенаправить поддомен в другой домен - PullRequest
2 голосов
/ 16 октября 2010

Мне нужно перенаправить каждый субдомен в домен, которому он принадлежит, изменив имя субдомена на параметр, используя mod_rewrite, и я не уверен, как это сделать. Кроме того, мне нужно «переиндексировать» параметры, чтобы имя субдомена стало первым параметром uri, а другие параметры uri следовали за ним в своем собственном порядке. Как то так

category.domain.com/search/flowers

до

domain.com/category/search/flowers

Есть мысли о том, как этого добиться, используя mod_rewrite?

ура!

1 Ответ

7 голосов
/ 16 октября 2010

Вы можете сделать это с помощью одного VirtualHost для всех поддоменов:

<VirtualHost *:80>
    ServerName category.domain.com
    ServerAlias foo.domain.com bar.domain.com

    RewriteEngine On
    RewriteCond %{HTTP_HOST} (.*).domain.com
    RewriteRule (.*) http://domain.com/%1$1 [R=301,QSA,L]
</VirtualHost>

Для того, чтобы он работал правильно, у вас должно быть что-то, заданное как ServerName, так что просто выберите один и перечислите остальные своисубдомены в строке ServerAlias.

Вы можете иметь несколько строк ServerAlias, поэтому вы можете разбить их на несколько строк для удобства чтения, если у вас большое количество поддоменов.

В RewriteRule% 1 соответствует первому сопоставленному шаблонув предыдущих строках RewriteCond.

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