Я пытаюсь использовать mod_rewrite
на сервере Apache, где я не могу получить доступ к httpd.conf
, поэтому я использую этот файл .htaccess
:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{2,4}
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.php
Он должен перенаправить http:
наhttps:
и добавьте «.php», если расширение файла отсутствует.Пример:
http://my.web.server.de/helloworld/m/contact ––>
https://my.web.server.de/helloworld/m/contact.php
Перенаправление https:
работает, но когда я опускаю расширение ".php", я получаю ошибку 404.В журнал не записывается никаких ошибок.
Я подумал, что, возможно, проблема в SSL, поэтому я удалил часть HTTPS:
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{2,4}
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.php
Но он все равно не работает, окончание файла нене добавлено.Я в замешательстве.Почему это не работает?
Сервер Apache / 2.4.18 (Ubuntu).