Mod rewrite 将example.com/folder/path重写为example2.example.com/path

Mod rewrite 将example.com/folder/path重写为example2.example.com/path,mod-rewrite,url-rewriting,Mod Rewrite,Url Rewriting,实际上,我有一个子域example.domain.com,它是从文件夹www.domain/folder的其他域重定向的。但是需要我的子域的重写规则,它显示主域的url链接,即www.domain/folder/path 我需要获取example.domain.com/path。我不需要获取主域路径,而是需要使用子域路径公开URL。据我所知,有两种方法可以实现您想要的。它们都需要大量额外的开销。两者都可能要求example.domain.com对其身份撒谎 如果你能避免的话,我也不推荐,但是 方

实际上,我有一个子域example.domain.com,它是从文件夹www.domain/folder的其他域重定向的。但是需要我的子域的重写规则,它显示主域的url链接,即www.domain/folder/path
我需要获取example.domain.com/path。我不需要获取主域路径,而是需要使用子域路径公开URL。

据我所知,有两种方法可以实现您想要的。它们都需要大量额外的开销。两者都可能要求example.domain.com对其身份撒谎

如果你能避免的话,我也不推荐,但是

方法1

在www.domain.com/folder上设置透明代理,以显示example.domain.com中的内容。如果我没记错的话,这可以通过mod_proxy实现,但我不记得具体是如何实现的

方法2

在www.domain.com/folder上设置重写规则以重定向到example.domain.com。然后将example.domain.com设置为谎报它是谁和在哪里,或者修复example.domain.com页面中的所有链接以明确指向

在www.domain.com上的root.htaccess文件中:重定向到子域

RewriteRule ^folder/(.*) http://example.domain.com/$1 [R, L]

实际上,子域是从godaddy帐户创建的,maindomain/文件夹位于其他托管服务器中。。。屏蔽可以在顶部地址栏中完成,但当我在链接中悬停时,实际的URL路径显示在浏览器的左下角

选项+FollowSymLinks 重新启动发动机 重写cond%{THE_REQUEST}{HTTP_HOST}[a-zA-Z0-9.-]mydomain/folder/。 重写规则^/folder/*$$1[L,R=301]

有人给我发了上面的重写规则,但问题仍然存在

几天来我一直在研究这个问题,我得出的结论是 1从godaddy帐户,我创建了一个子域,并通过屏蔽转发到虚拟主机服务器的实际IP地址,但问题来了。。。 我不能转发域名,我可以为域名转发

所以我站在这里寻求解决办法


如果你能找到解决办法,我会被认为是天才……

这真是个糟糕的问题!您使用的是什么web服务器?apache web服务器……我假设example.domain.com和www.domain.com是两个独立的虚拟主机。是吗?是的,jason先生,他们是两个独立的虚拟主机请将方法2的重写规则发送给我。。我已经实现了,但这并不是工作日,如果你想让人们帮助你,那么你需要发布更多的东西。你试的时候发生了什么?重写失败了吗?Apache错误页面?粘贴您尝试的重写规则。提供更多信息,人们会尽力帮助你。