4

有用於add trailing slash .htaccess在谷歌不少成績,但我所有的例子中需要使用您的域名,如本例:添加尾部斜槓的URL

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !example.php 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] 

我的問題是硬編碼的域名在我的本地開發機器上不起作用。有沒有一種方法可以在不明確告訴mod_rewrite域名的情況下添加尾部斜槓?

+0

看起來像一個問題,更屬於serverfault.com而不是stackoverflow.com。 –

回答

3

這應該工作:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !example.php 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301] 
+0

。*將匹配反斜槓,除了我的意思,比如下面的Gumbo用法,我會使用[^ /] *代替 –

+0

錯誤。 –

+0

@Oz,是的,那會更好。我只是展示了使用%{HTTP_HOST},所以我對最初給定的代碼片段進行了微小的更改。 –

7

你並不需要指定域,你可以簡單地使用絕對URL路徑:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] 

但這也使檢查的網址計劃已過時。

+0

+1 - 這應該工作得很好 - 感謝提及它... – nicorellius