В моей учетной записи cPanel у меня есть файл htaccess, который выглядит так:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^(.*)\.html$ $1.php [nc] //for rewrite all .php file with .html extension
RewriteRule ^$ /index.html [R=301,L] //for rewrite home page to url with index.html
RewriteRule ^/$ /index.html [R=301,L] //for rewrite home page to url with index.html
ErrorDocument 404 /404.html
Проблема в том, что когда я открываю ссылку вида: https://www.domainname.tld/test -- -› у меня правильная ошибка 404 (страница не существует) https://www.domainname.tld/test.php или test.html ---› у меня по умолчанию ошибка 404 Apache
Это очень странно...
Я связываюсь со службой поддержки cPanel, и мне говорят, что это не ошибка cPanel. Вы можете мне помочь?
RewriteRule
имеет приоритет над директивойErrorDocument
. Ваш сервер читаетRewriteRule ^(.*)\.html$ $1.php [nc]
вместоErrorDocument 404 /404.html
, когда запрашиваетсяfile.html
. - person Amit Verma   schedule 16.12.2020