2010-02-14 65 views
3

我有這樣的htaccess:拖尾斜槓開頭的www

RewriteEngine On 

    # redirect with www 
    RewriteCond %{HTTP_HOST} ^mydomain [NC] 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1/ [R=301,L] 

    # add .php internally 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ $1.php [L,QSA] 

所以我的PHP文件,可以稱爲不帶.php擴展。

但我希望他們只能用一個斜線調用。所以當沒有給出這個尾部的斜線時,它應該附加一個301.我遇到的問題是這給了我最初的www和.php擴展本身的問題(有時它是遞歸添加.php)。

怎麼辦?

謝謝!

回答

3

我想你需要你的最後一個重寫規則之前添加這樣的事情,以避免重寫已經以.php結尾的URI

RewriteCond %{REQUEST_URI} !\.php$