2013-08-06 22 views
0

我有這樣的工作代碼刪除斜線,URL重寫月底

RewriteEngine On 
RewriteBase/
DirectorySlash Off 
RewriteRule ^(.*)\/$ /page.php?page=$1 [L] 
RewriteRule ^news/(.*)\/$ /news/article.php?id=$1 [L] 

,我想在URL結束時刪除/;這將給像這樣(見改變在最後兩行):

RewriteEngine On 
RewriteBase/
DirectorySlash Off 
RewriteRule ^(.*)\$ /page.php?page=$1 [L] 
RewriteRule ^news/(.*)\$ /news/article.php?id=$1 [L] 

但是如果我離開它這樣,當我試圖達到的文件,例如,www.domain.com/register代替www.domain.com/register/,它拋出我的錯誤404.

回答

0

您正在尋找這個簡單的聲明:

(\/{0,1}) 

它說:「有可以是一個/或零/ - 無論是罰款「。當應用的最後兩行,整個結果應該是這樣的我相信:

RewriteRule ^(.*)\$ /page.php?page=$1(\/{0,1}) [L] 
RewriteRule ^news/(.*)\$ /news/article.php?id=$1 [L] 

在情況下,它仍然無法正常工作,嘗試添加(\/{0,1})到最後一行的末尾爲好。