.htaccess — не удается указать index.php на подкаталог

Я пытаюсь установить файл 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 не был найден на этом сервере.

Есть идеи?

0

Решение

Путь к подкаталогу будет следующим: domain.com/en/ (заканчивается косой чертой).

domain.com/en не является каталогом / файлом, поэтому RewriteRule ^ (. *) $ $ 1.php имеет значение true и запрашивается /en.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]