我需要将所有有关文件夹的请求重定向到另一个名为 www2 的(旧)Web 服务器,并保留整个原始路径,例如
https://www.example.org/thisfolder/maps/map.jsp?id=2345 必须重定向至 https://www2.example.org/thisfolder/maps/map.jsp?id=2345
我认为解决方案是使用带有 RewriteRule 指令的 mod_rewrite 模块,应该很简单,但我找不到一个可行的示例。我尝试过
<IfModule !mod_rewrite.c>
LoadModule rewrite_module modules/mod_rewrite.so
</IfModule>
<Directory "/thisfolder">
RewriteEngine On
RewriteBase "/thisfolder"
RewriteRule "(.*)" "https://www2.example.org/$1"
</Directory>
这是在 Linux CentOS 7.6(Red Hat Enterprise)上运行的 Apache2.4 安装。非常感谢您的帮助!
答案1
答案2
该<Directory>
指令适用于文件系统路径,而不是 URL 路径,因此我们需要将其更改为,<Location>
并且我们还必须正确捕获之后的请求"thisfolder/"
。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule "^/thisfolder/(.*)" "https://www2.example.org/thisfolder/$1" [R=301,L]
</IfModule>