我发现自己遇到了这个问题,这让我有点疯狂。我使用apache的mod_rewrite用于漂亮的URL,我需要在站点中使用动态子域。一切都很棒,所有的服务器都有通配符。我在.htacess上使用下一个代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mysite.com
RewriteCond %{HTTP_HOST} ([^.]+).mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/%1 [L]
唯一的问题是,即使我使用[L]标志,网站的网址也会更改为http://mysite.com/subdomain
。我想要的是网址如http://subdomain.mysite.com
链接mysite.com/subdomain
是动态网址,使用以下代码解决另一条规则:
RewriteRule ^([A-Za-z]+)$ filter.php?type=subdomain&subdomain=$1
任何帮助将不胜感激
答案 0 :(得分:0)
如果您指定外部URL(更改子域名),则会发生标题重定向。我认为你不能阻止这种情况。但为什么不完全跳过这一步,直接使用第二个RewriteRule?
我现在无法测试,但是
RewriteCond %{HTTP_HOST} !^www.mysite.com
RewriteCond %{HTTP_HOST} ([^.]+).mysite.com [NC]
RewriteRule ^(.*)$ filter.php?type=subdomain&subdomain=$1
应该有用。