2011-11-04 59 views
1

我已成功地將.php擴展名刪除到我的文件,但在向我的頁面添加尾部斜線時遇到問題。對不起,如果這已被覆蓋之前,已經遍地搜索,但無法找到任何工作。.htaccess將尾部斜線添加到文件名不起作用?

任何幫助將不勝感激,我ht.access目前看起來是這樣的:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^.*/index 
RewriteRule ^(.*)index$ http://www.mywebsite.co.uk/$1 [R=301,L] 
RewriteCond %{HTTP_HOST} ^mywebsite.co.uk [NC] 
RewriteRule (.*) http://www.mywebsite.co.uk/$1 [R=301,L] 
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php?\ HTTP 
    RewriteRule (.+)\.php?$ http://www.mywebsite.co.uk/$1 [R=301,L] 
    RewriteCond %{REQUEST_fileNAME} !-d 
    RewriteCond %{REQUEST_fileNAME}\.php -f 
    RewriteRule ^(.*)$ $1.php 

第一部分是剛剛到主頁重定向到一個版本。縮進部分是我用來從文件名中刪除.php的部分。只需要添加一個尾部的斜線到還沒有的文件。

+0

這是我已經使用在htaccess的底部的嘗試,並添加斜線的代碼:RewriteBase/ 的RewriteCond%{REQUEST_FILENAME} -D- 重寫規則^(。+ [^ /])$ $ 1/[ R] – Darren

回答

1
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^/]+)/$ $1.php 
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/ 
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.mywebsite.co.uk/$1 [R=301,L,QSA] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ http://www.mywebsite.co.uk/$1/ [R=301,L,QSA] 

在.htaccess文件中使用該操作刪除您的代碼!