mod_rewrite не всегда работает - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь использовать 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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...