我在.htaccess文件中有以下内容作为测试:
RewriteEngine on RewriteRule ^(.*)$ /backend/$1
这可以按预期工作。我能够在apache2.conf中使用以下代码进行重写日志记录:
<IfModule mod_proxy.c> RewriteLog "/tmp/REWRITE.log" RewriteLogLevel 9 </IfModule>
创建日志文件并按预期记录调试信息。但是,当我删除.htaccess文件时,按如下所示更改apache2.conf指令,并重新启动apache以全局执行等效操作,它不起作用。
<IfModule mod_proxy.c> RewriteLog "/tmp/REWRITE.log" RewriteLogLevel 9 RewriteEngine on RewriteRule ^(.*)$ /backend/$1 </IfModule>
我在Ubuntu上使用Apache / 2.0.55。
帮助!
答案 0 :(得分:0)
你有没有考虑在之前使用在任何其他重写指令之前启用RewriteEngine?
答案 1 :(得分:0)
您的RewriteRule指令是否包含在特定服务器定义中?你有虚拟服务器吗?
我问这个的原因是你说这个工作在.htaccess
文件中,该文件是特定于目录的;虽然正式文档说RewriteRule可以应用于服务器配置,虚拟主机,目录,.htaccess。
答案 2 :(得分:0)
你试过这个吗?
RewriteEngine on
RewriteRule ^(.*)$ /backend/$1
<IfModule mod_proxy.c>
RewriteLog "/tmp/REWRITE.log"
RewriteLogLevel 9
</IfModule>
因为这种方式我能够进行重写,但是日志没有用,因此mod_proxy.c中存在问题