2010-04-14 55 views
1

我一直在努力做的服务器上的mod_rewritemod_rewrite的无限循环问题

  1. 下面有一个文件about.htm中(这是在域的根目录中找到)
  2. 我需要使用about.htm重定向到大约/
  3. 在服务器上还留着about.htm中,因此,当大约是/,它实际上加载了about.htm中

我想是这样的:

RewriteRule ^about/$  about.htm [L] 
RewriteRule ^about\.htm$ about/ [R=302] 

我也尝试改变它一下,看看发生了什么,但我总是以无限循环的重定向或500服务器错误结束。

任何想法为什么它不按预期工作?

在此先感谢!

回答

2

你需要测试在request line路径:

RewriteRule ^about/$  about.htm [L] 
RewriteCond %{THE_REQUEST} ^GET\ /about\.htm 
RewriteRule ^about\.htm$ about/ [R=302] 
+0

谢谢你!正是我需要的:) – 2010-04-14 07:48:02

0

只有这条线应该做的工作。

RewriteRule ^about\.htm$ http://yourdomain.com/about/ [R=302] 
+0

并不/约/需要实际存在的服务器上使用此呢?或不? – 2010-04-14 07:39:18

+0

好吧,只要你说 >>我需要重定向about.htm约/ 大概是关于/存在于服务器上。 但是,about.htm可能不存在。 – Pablo 2010-04-14 07:46:54