2012-01-30 216 views
0

我想哟从URL中移除的踪迹斜线这种模式删除尾随斜线与的.htaccess

http://localhost/~francesco/mycms/about/

,使其

http://localhost/~francesco/mycms/about

我已经试过很多规则但没有人为我工作。

我重写规则是这样的现在

Options +FollowSymLinks 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /~francesco/mycms/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ index.php?page=$1 [L] 
</IfModule> 

希望有人能帮帮我!

+1

退房:http://stackoverflow.com/questions/1368276/removing-trailing-slashes-with-mod-rewrite – 2012-01-30 18:20:27

+0

我”不工作,我很抱歉。 http://pastebin.com/847u3vac – 2012-01-30 18:32:26

回答

1

试着将这个规则

RewriteRule ^(about)/$ $1 [L,R=301,NC] 

刚过

RewriteBase /〜弗朗切斯科/ mycms/

如果你想对任何一级目录工作继RewriteBase即http://localhost/~francesco/mycms/[anything-here]/使用

#exclude the /~francesco/mycms/admin/directory 
RewriteCond %{REQUEST_URI} !^/admin/ [NC] 
RewriteRule ^([^/]+)/$ $1 [L,R=301,NC] 
+0

它工作正常,直到我试图访问/ admin目录,它告诉safari不能访问服务器,如果我把它放在if子句后,它可以很好地访问管理员,但不要没有最后的斜线 – 2012-01-30 21:46:29

+0

@FrancescoZaffaroni admin:http:// localhost /〜francesco/mycms/admin /'的URL是什么? – 2012-01-30 22:02:59

+0

是的。我应该添加一条规则来排除它吗? – 2012-01-30 22:49:47