2011-11-04 55 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文件中使用该操作删除您的代码!