我希望所有流量都转到:
|
V
我可以使用.htaccess或PHP中的东西,我正在使用zend框架。请注意我也有:
THX
答案 0 :(得分:6)
此规则将保留完整的uri
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(domain.com)$ [NC]
RewriteRule ^(.*)$ http://main.%1/$1 [R=301,L,QSA]
PS:如果没有明确的域规范,我无法想到如何使第二行更具可移植性。我会感谢能够纠正我的人。
答案 1 :(得分:1)
为什么不使用ServerName指令?
答案 2 :(得分:1)
当域名服务器协议被设计为完全像这样处理重定向时,服务器端解决方案似乎有点不必要。路径信息和POST变量以透明方式保留。
如果您有权访问您网站的DNS记录,最好使用CNAME record将用户重定向到正确的域名。
CNAME将寻找一个域(例如site.com)的人指向另一个域(例如main.site.com)。这一切都在您的服务器上没有任何工作的情况下完成。
只需将两条记录添加到指向的CNAME记录中:
domain.com => main.domain.com
www.domain.com => main.domain.com
如果您当前的DNS提供商未提供此功能,请尝试使用ZoneEdit,他们过去曾为我们工作过。
答案 3 :(得分:1)
您要做的是Web服务器的功能。所以让webserver处理请求。因此,最有效的方法是使用.htaccess重定向指令。 使用PHP来实现它是一种低效的方法。