制作重写规则的正确方法是什么?

时间:2009-04-22 20:53:46

标签: apache .htaccess mod-rewrite

我的网站www文件夹中有一个.htaccess,它有这个重写规则:

 RewriteRule ^(\w+)/?$ /$1.php

如果你输入

,它会起作用
 http://sampardee.com/urltest - 

找到 urltest.php 并将其显示出来。

但是,如果您输入

 http://sampardee.com/urltest/ 

它仍然带来 urltest.php ,但CSS停止工作。我有链接标记中指定的CSS文件。

时也会出现相同的结果
 http://sampardee.com/urltest.php/ 

被访问。

我有什么方法可以解决这个问题,以便有人可以输入

 http://sampardee.com/urltest/ 

并且 urltest.php 出现,但仍然显示链接的CSS文件?

请帮忙:) -SAM

2 个答案:

答案 0 :(得分:1)

问题不在于mod_rewrite,而在于css链接(浏览器尝试获取http://[...]/urltest/css/default.css而不是/css/default.css)。

尝试添加开始斜杠,并将更改为:

  

/css/default.css

答案 1 :(得分:1)

更好的想法可能是将http://sampardee.com/urltest/重定向到http://sampardee.com/urltest

RewriteRule ^(\w+)/$ /$1 [R] 
RewriteRule ^(\w+)$ /$1.php