URL /子域重写(htaccess)

时间:2012-11-29 00:07:38

标签: .htaccess

我的应用程序动态创建子域。

如果仅使用子域(没有其他路径):mydomain.mysite.com

我需要子域重新映射/重写(保持相同的网址,使其对用户隐藏)到以下网址mydomain.mysite.com/event/mydomain

在传递了其他参数的实例中,我想忽略重写规则。 (mydomain.mysite.com/something/else

我在重定向循环中遇到以下问题时出现问题

RewriteEngine on RewriteCond %{HTTP_HOST} ^(.*)\.mysite\.com
RewriteRule ^(.*)$ http:// %1.mysite.com/events/%1 [L,NC,QSA]

当我通过其他参数时,它也会重写!

1 个答案:

答案 0 :(得分:0)

如果您将http://作为规则目标的一部分,则会自动重定向。您希望它在内部重写,因此请删除http://和主机名。您还希望与URI /匹配,因为您想忽略该规则:

RewriteEngine on
# you may want this condition, to ignore "www"
RewriteCond %{HTTP_HOST} !^www\.

RewriteCond %{HTTP_HOST} ^(.*)\.mysite\.com
RewriteRule ^/?$ /events/%1 [L]

添加了第一个条件以忽略以www开头的主机,以便http://www.mysite.com/不会被重写。如果你不关心它,那么只需删除条件。您也不需要QSA标记,因为当您在目标中没有?时,这是隐含的。