RewriteRule
我在文件中使用它.htaccess
来修改传入的 URL。它工作正常,只是我希望规则充当代理,而不是重定向。但如果我将[P]
代理标志附加到规则,则规则会触发 500 错误。当重写规则包含“P”标志时,Apache 日志会显示 500 日志,而当规则不包含“P”标志时,Apache 日志会为同一 URL 显示正常的 302 日志。请注意,对于重写规则中指定的任何有效 URL 模式和 URL 替换,结果都是相同的。
我通过输入mod_proxy
和然后输入来启用和,但仍然收到 500 错误。当我输入时,列表中出现以下两行:mod_proxy_http
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo systemctl restart apache2
apachectl -M
proxy_module (shared)
proxy_http_module (shared)
有谁知道还需要什么才能使 RewriteRule 的代理标志起作用?
答案1
需要在站点的 Apache conf 文件中将 SSLProxyEngine 设置为“on”。
答案2
我遇到了同样的问题。通过在 Apache conf 文件中添加以下代码来解决:
SSLProxyEngine on