2014-01-14 82 views
2

我加入這行到我的.htaccess文件的子目錄的前面刪除尾隨反斜槓:除去尾隨反斜槓移動到

RedirectMatch 301 ^(.*)/$ /$1 

但它會導致移動到子目錄背面的反斜槓(以域的前面)。

,所以如果我輸入:localhost/subfolder/

到地址欄,然後按回車結果是這樣的:

localhost//subfolder 

我也曾嘗試

RewriteRule ^(.+)/$ /$1 [R=301,L]

但這有同樣的問題(和其他)。任何人都知道爲什麼會發生這種情況。謝謝您的閱讀

ps.s.我在RedirectMatch開始使用apache2.4.4

+0

嘆氣。 /是斜線(或斜線)。 \是反斜槓。請使用正確的術語。 –

回答

1

由於URI與一家領先的斜線,您可以使用此規則:

RedirectMatch 301 ^(.*)/$ $1 

但更好的方法是使用mod_rewrite規則,排除與該規則目錄:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s] 
RewriteRule^%1 [R=301,NE,L] 
+0

嘿,謝謝,我使用了retwerule,它運作得很好,我之前一直在搞亂。但是這完美地工作。非常感謝您的回答。 – user2014429

+0

不客氣,很高興它解決了。 – anubhava