2009-10-23 62 views
0

如果我有一个网址http://example.com/page.php的.htaccess mod_rewrite的问题

,但我想在页面显示的时候有人去http://example.com/page/

我怎么去这样做?斜线后

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 
RewriteRule .* - [L] 
RewriteRule ^$ index.php [L,QSA] 
RewriteRule ^([^/\.]+)/?$ $1.php [L,QSA] 

</IfModule> 

注意问号:

+0

Duplicate:http://stackoverflow.com/questions/1609710/modrewrite-htaccess-question – Gumbo 2009-10-23 14:14:27

回答

0

试试这个:

RewriteEngine on 
RewriteRule ^([^/]+)/$ $1.php 
+0

不错,但如果我希望http://example.com/page也可以工作(缺少尾部斜线),该怎么办? – kylex 2009-10-23 14:19:50

+0

@kylex:使用'/?'使斜杠变为可选项,并扩展您的规则,让请求的URL路径不以'.php'结尾:'RewriteCond $ 1!。* \。php $' – Gumbo 2009-10-23 16:16:04

0

我通常使用这样的事情。你可以把它添加到Gumbo的例子中来“测试”一个结尾的斜线(所以它可以存在或不存在)。