我正在尝试让mod_rewrite进行我的竞标,在Ubuntu 11.04上运行apache 2.2.16。我一直在试验,在httpd.conf中添加非常简单的RewriteRules。 e.g。
RewriteEngine on
RewriteRule /bar /bar.html
每次更改httpd.conf后,我都会重新启动服务器(通过apachectl -k restart),假设这对运行实例中反映的httpd.conf的更改是必要的。
这是我的问题:上面的重写似乎存在于apache中。 apache会将localhost / bar重写为localhost / bar.html,但现在我的httpd.conf为空,我已多次重启服务器(使用apachectl -k restart)。另外令人困惑的是在重启期间,如果httpd.conf有语法错误,apache会抱怨,但似乎没有对内容采取行动。
我认为在服务器重启时会重新读取httpd.conf是错误的吗?是否有更难的重启?有几次我在没有sudo的情况下执行了apachectl - 是否有可能将apache置于不一致的状态?
花了很多时间使用apache和mod_rewrite docs。我猜我在某种程度上严重使用apache,但不知道它是怎么回事。
所有评论都非常感谢。