2015-06-19 64 views
1

我在.htaccess文件中有一段代碼: 用尾部斜槓替換php擴展名。從www.mydomain.com/foo重定向到www.mydomain.com/foo/

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_URI} (.*)/$ 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule (.*)/$ $1.html [L] 

RewriteCond %{REQUEST_URI} (.*)/$ 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule (.*)/$ $1.php [L] 

RewriteCond %{REQUEST_URI} (.*)/$ 
RewriteCond %{REQUEST_FILENAME}\.cgi -f 
RewriteRule (.*)/$ $1.cgi [L] 

## redirect /dir/foo to /dir/foo/ 


RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f [OR] 
RewriteCond %{REQUEST_FILENAME}\.php -f [OR] 
RewriteCond %{REQUEST_FILENAME}\.cgi -f 
RewriteRule .* %{REQUEST_FILENAME}/ [R=301,L] 
</IfModule> 

我的問題是我怎麼可以重定向從www.mydomain.com/foowww.mydomain.com/foo/所有的請求? (注意後面的斜線)

回答

1

解決方案:

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

來源&解釋: 「如果沒有尾隨斜線」 :如果文件存在

  • RewriteCond %{REQUEST_URI} !(.*)/$條件http://enarion.net/web/htaccess/trailing-slash/

    • RewriteCond %{REQUEST_FILENAME} !-f沒有重定向
    • RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301]將網址 重定向到URL +斜線