htaccess URL屏蔽子文件夹到另一个域,而不是重定向

问题描述

我需要将www.domain.com/folder重定向到subdomain.anotherdomain.com而不更改第一个URL www.domain.com/folder。在www.domain.com中,我有一个WordPress网站,在subdomain.anotherdomain.com中有一个Moodle网站。这样,只有www.domain.com/folder必须具有重定向,而不是www.domain.comwww.domain.com/other_folder。可以办到?可能吗?。

在Worpress网站上,我具有以下功能:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

我尝试使用iframe,但是Google Chrome浏览器不喜欢这样:/(cookie问题)

非常感谢。

解决方法

您无法以某种方式在浏览器的URL栏中保持指向一个HTTP服务器的URL,而无法使其连接到其他HTTP服务器。那将是一个巨大的安全问题。

如果您可以更改设置,以使主机名都指向同一个http服务器,则可以通过应用一些简单的内部重写规则来实现您的要求。

对于单独的http服务器,您唯一的选择是使用apache http服务器带来的代理模块,如果已安装并启用 ...

ProxyPass /folder https://subdomain.anotherdomain.com
ProxyPassReverse /folder https://subdomain.anotherdomain.com

有关详细信息,请参见代理模块的文档:http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass

也可以在重写模块的内部中使用代理模块,但这会降低速度:

RewriteEngine on
RewriteRule ^/?folder/(.*)$ https://subdomain.anotherdomain.com/$1 [P,QSA,END]

再次在重写模块中对此进行了记录: http://httpd.apache.org/docs/current/rewrite/flags.html#flag_p

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...