简单的mod_rewrite继续导致404

时间:2013-10-19 03:07:25

标签: apache mod-rewrite url-rewriting rewrite uri

我很绝望......这个测试规则在这里工作正常,所以服务器肯定配置正确。它会按预期刷新页面。

RewriteRule /hello.htm /index.htm [R]

但我想简单地将页面从example.com/123刷新到example.com/index.htm?id=123。我以为我可以这样做:

RewriteRule ^/([0-9]+)$ /index.htm?id=$1 [R]

但它不起作用。一直得到404,检查我的日志,没有任何用处。

我很害怕,希望得到一些帮助。

2 个答案:

答案 0 :(得分:1)

好吧,我终于找到了我的问题,并且考虑到问题的数量:404问题,我认为这是相对常见的。

我的服务器是共享的,即我与一家使用虚拟服务器的大型公司托管等...

因此,我需要将完整域名添加到我的重定向。所以我不必做/index.htm?id=$1而是做http://www.example.com/index.htm?id=$1

而且,它有效。

答案 1 :(得分:0)

试试这个应该适合你

RewriteRule ^([0-9]+)$ /index.html?id=$1 [NC,R=301]