Я использую следующий код в моем файле .htaccess для удаления расширений PHP:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]
Работает нормально, когда я запрашиваю, например, https://example.com/testfile
. Но когда я запрашиваю https://example.com/testfile.php
, он перенаправляет на http://example.com:443/testfile
, что в свою очередь дает ответ Bad Request
(порт 443 через http). На моем локальном тестовом сервере он работает нормально и перенаправляет правильно. Но на моем удаленном сервере это происходит. В чем причина?
Обе версии Apache - 2.4.39
.
Обратите внимание, что у меня нет доступа к файлу конфигурации сервера на моем удаленном сервере.