我的应用程序动态创建子域。
如果仅使用子域(没有其他路径):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]
当我通过其他参数时,它也会重写!
答案 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
标记,因为当您在目标中没有?
时,这是隐含的。