mod_rewrite不起作用

时间:2014-06-14 07:18:49

标签: apache .htaccess mod-rewrite url-rewriting

我在windows上使用xampp。过去两天我试图重写URL,但mod重写无效。我把我带到同一个页面。我正在尝试从foo做一个简单的重定向。 html到bar.html,因为它是一个重写文档的例子。 我已将所有指令放在.htaccess中。

.htaccess处理原因是在" blah blah blah" 中添加了 500内部服务器错误。 这是我的.htaccess文件中的行。

RewriteEngine On
RewriteRule ^/foo.html /bar.html [R]

我启用了日志记录,这就是它告诉我我在trace3上最后一次请求foo.html的内容。

[Sat Jun 14 12:00:49.125000 2014] [rewrite:trace3] [pid 5116:tid 8]    mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#9dd270/initial] [perdir D:/x3/htdocs/] strip per-dir prefix: D:/x3/htdocs/foo.html -> foo.html

[Sat Jun 14 12:00:49.125000 2014] [rewrite:trace3] [pid 5116:tid 8] mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#9dd270/initial] [perdir D:/x3/htdocs/] applying pattern '^/foo.html' to uri 'foo.html'

[Sat Jun 14 12:00:49.125000 2014] [rewrite:trace1] [pid 5116:tid 8] mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#9dd270/initial] [perdir D:/x3/htdocs/] pass through D:/x3/htdocs/foo.html

[Sat Jun 14 12:00:49.531250 2014] [rewrite:trace3] [pid 5116:tid 8] mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#55020a8/initial] [perdir D:/x3/htdocs/] strip per-dir prefix: D:/x3/htdocs/favicon.ico -> favicon.ico

[Sat Jun 14 12:00:49.531250 2014] [rewrite:trace3] [pid 5116:tid 8] mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#55020a8/initial] [perdir D:/x3/htdocs/] applying pattern '^/foo.html' to uri 'favicon.ico'

[Sat Jun 14 12:00:49.531250 2014] [rewrite:trace1] [pid 5116:tid 8] mod_rewrite.c(475): [client 127.0.0.1:4656] 127.0.0.1 - - [localhost/sid#9006d0][rid#55020a8/initial] [perdir D:/x3/htdocs/] pass through D:/x3/htdocs/favicon.ico

我不知道出了什么问题?:(

请帮帮我。 我过去成功使用过mod_rewrite,但不知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

我把它搞定了。:D 我改变了我的.htaccess中的行

RewriteEngine On

RewriteRule ^/foo.html /bar.html [R]

RewriteEngine on

RewriteRule ^foo\.html /bar.html [R]

现在工作正常。

我猜这种情况正在发生,因为'/'会自动添加到.htaccess中,而且我还包括一个尾随斜线,所以没有找到匹配的RewriteRule因此它没有做任何事情。

但不是这种情况或httpd.conf。 另外,rewriteBase在某种程度上也很重要。

我怎么不知道。但有一天我会:-D