У меня есть три .htaccess правила:Htaccess mod_rewrite: порядок правил, чтобы предотвратить index.php от просмотра
- один, который проверяет, если домен не начинается с WWW. и он добавляет его к имени хоста
- тот, который проверяет, вызван ли хост без использования протокола https, и его принудительное применение
- последнее правило курорта, если ни одно из вышеперечисленных не согласовано, оно будет перенаправлено на index.php/$ 0, где $ 0 ничего соответствует после «/» в URL:
Это как файл выглядит следующим образом:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Все работает файл, но когда нет https
и не www
вообще , пользователь перенаправляется до https://
с www.
, однако index.php
также отображается.
например.
http://domain.com/test
... перенаправляется ...
https://www.domain.com/index.php/test
вместо ...
https://www.domain.com/test
Что может быть проблема?
Большое спасибо, Влад
привет, нет, тест на самом деле маршрут CodeIgniter, указывающий на index.php/контроллер/тест –
Есть ли другие .htaccess или любое другое правило в вашей системе? – anubhava