.htaccess用[P]代理标志重写

Sin*_*lar 6 .htaccess mod-rewrite apache2 url-rewriting

我试图通过.htaccess和代理标志进行不可见(透明?)重写.它与[R]标志一起使用,但不与[P]标志一起使用,因为它只给出500错误.这两个域位于不同的服务器上,并且启用了mod_proxy模块.我的.htaccess是否正确?

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST}    =one.com
RewriteRule ^(.*)$          http://two.com/$1 [P]
Run Code Online (Sandbox Code Playgroud)

Tim*_*one 8

如果mod_proxy编译为共享模块,则需要您显式加载相关的子模块.您的服务器上可能mod_proxy_http未启用,这会在mod_proxy尝试处理传递给它的请求时导致内部服务器错误mod_rewrite.

mod_proxy本身就像你说的那样启用并且可能正常工作,因为如果你没有启用它,使用该P标志将只生成404响应.虽然没有错误日志,但很难确定,因此您需要找到有权访问它的人才能看到正在发生的事情来帮助您解决问题.

  • 感谢有关404的说明 - 我无法弄清楚为什么我会得到它! (2认同)