2016-11-01 1 views
1

У меня есть следующее содержание в моем файле .htaccess место в корневой директории:Невозможно применять слэш через .htaccess

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.html [NC,L] 

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

Дело в том, то «.html» действительно удаляются из URL, но конечная косая черта нигде не видна. Зачем? Большое спасибо

ответ

0

Вам нужно разместить 301 RedirectRules перед внутренними rewriteRules и сделать трейлинг-косую черту необязательной в шаблоне Rule.

Try:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*[^/])$ $1/ [L,R=301]  
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/.]+)/?$ $1.html [NC,L]