2012-01-30 206 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