Я пытаюсь установить файл htaccess для удаления расширения .php
и .html
, принудительно non-www
и https
, но он не работает на index.php
внутри подкаталогов.
У меня естьследующий синтаксис в htaccess:
RewriteEngine on
# Redirect www and http to https - non-www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
# Start php extension remove
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
# End php extension remove
# Start html extension remove
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# End html extension remove
Он отлично работает на https
и non-www
, но когда я указываю подкаталог en (domain.com/en
), я получаю следующее сообщение в браузере:
Запрошенный URL /en.php не был найден на этом сервере.
Есть идеи?