Apache mod_rewrite P 标志意外重写 URL

Apache mod_rewrite P 标志意外重写 URL

我最近收到网站所有者的请求,要求将我们的基域重定向到子域上的特定登录页面,这很好。问题是他希望 URL 保持不变,因此用户将看到 mydomain.com,但转到 sub.mydomain.com/index.php?landing

我做了一些研究,发现重定向用户并保持 URL 完整的正确方法是代理请求,据我所知,这可以通过 RewriteRule 中的 P 标志来实现。然而,尽管确认 mod_proxy 确实是通过 WHM 安装的,但 URL 仍然会被重写到浏览器中的登录页面。以下是我的 .htaccess 文件的相关部分,供参考:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteRule ^(.*)$ http://sub\.mydomain\.com/index\.php\?landing/ [P]

这是一台使用 WHM/cPanel 的 AWS 服务器,运行 CentOS 7.8,带有标准 LAMP 堆栈。我觉得这可能是我忽略的一些简单问题,所以希望有人能提供一些见解。我过去曾多次使用 mod_rewrite,但从未需要代理这样的请求。

相关内容