htaccess重定向域和掩码网址

时间:2012-07-23 21:45:28

标签: apache .htaccess redirect dns webserver

我想将域名重定向:http://www.newdomain.comhttp://sub.maindomain.com

我已将.htaccess编辑为:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !sub.maindomain.com$ [NC]
RewriteRule ^(.*)$ http://sub.maindomain.com/$1 [L,R=301] 

重定向,但地址栏中显示http://sub.maindomain.com。救命!如何进行遮罩以便http://www.newdomain.com可见。感谢

我还要创建一个子网站http://sub.newdomain.com。如何使用.htaccess。

1 个答案:

答案 0 :(得分:3)

如果www.newdomain.comsub.maindomain.com位于不同的主机上,那么在浏览器的网址栏显示为sub.maindomain.com时,只能在www.newdomain.com上投放内容的唯一方法是代表浏览器从sub.maindomain.com 获取内容。因为就浏览器而言,它正在查看newdomain上的内容。

您可以通过使用apache或脚本设置代理来执行此操作。使用apache,您需要访问www.newdomain.com域的vhost配置。您可以将其设置为:

ProxyPassMatch ^(.*)$ http://sub.maindomain.com$1

请查看mod_proxy docs以获取有关您可以通过此指令的标志的更多信息,以调整超时和重试。

如果你想设置一个php脚本来代理,你需要将所有请求路由到这个php脚本,所以在你的www.newdomain.com文档根目录中的htaccess文件中,添加(假设这个php脚本被调用) proxy.php):

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/proxy.php
RewriteRule ^(.*)$ /proxy.php?url=$1 [L,QSA]

然后在proxy.php中,查找url查询字符串,加载该页面,然后将其输出到浏览器。

如果您只是将两个域指向同一主机,所有这些都会更容易。