2

我想重定向一个域名: 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 来做到这一点。

4

1 回答 1

3

如果www.newdomain.com并且位于不同的主机上,则在浏览器的 URL 地址栏显示时获取要提供sub.maindomain.com的内容的唯一方法是代表浏览器从中获取内容。因为就浏览器而言,它正在查看 newdomain 上的内容。sub.maindomain.comwww.newdomain.comsub.maindomain.com

您可以通过使用 apache 或脚本设置代理来做到这一点。使用 apache,您需要访问www.newdomain.com域的虚拟主机配置。您可以像这样设置它:

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

查看mod_proxy 文档以获取有关可以传递此指令的标志的更多信息,以调整超时和重试。

如果你想设置一个 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查询字符串,加载该页面,并将其输出到浏览器。

尽管如果您可以将两个域都指向同一个主机,所有这一切都会容易得多。

于 2012-07-23T22:11:54.757 回答