.htaccess Добавить косую черту в конце имени файла не работает?

Мне удалось успешно удалить расширение .php в моих файлах, но у меня возникли проблемы с добавлением косой черты на мои страницы. Извините, если это было рассмотрено ранее, искал везде, но не могу найти ничего, что сработает.

Любая помощь будет высоко оценена, мой 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 из имен файлов. Просто нужно добавить косую черту в конце к файлам, у которых ее еще нет.


person Darren    schedule 04.11.2011    source источник
comment
это код, который я использовал в нижней части .htaccess, чтобы попытаться добавить косую черту: RewriteBase / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+[^/])$ $1/ [R]   -  person Darren    schedule 04.11.2011


Ответы (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, удалите свой код!

person user3508453    schedule 09.04.2014