我试图通过.htaccess和代理标志进行不可见(透明?)重写。它与[R]标志一起使用,但不与[P]标志一起使用,因为它只给出500错误。这两个域位于不同的服务器上,并且启用了mod_proxy模块。我的.htaccess是否正确?
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} =one.com
RewriteRule ^(.*)$ http://two.com/$1 [P]
答案 0 :(得分:8)
如果将mod_proxy
编译为共享模块,则需要您显式加载相关的子模块。您的服务器mod_proxy_http
可能未启用,当mod_proxy
尝试处理mod_rewrite
传递给它的请求时,会导致内部服务器错误。
mod_proxy
本身就像你说的那样启用并且可能正常工作,因为如果你没有启用它,使用P
标志只会产生404响应。虽然没有错误日志,但很难确定,因此您需要找到有权访问它的人才能看到正在发生的事情来帮助您解决问题。