Как мне переписать этот файл .htaccess, чтобы удалить index.php из CodeIgniter и принудительно установить HTTPS? - PullRequest
0 голосов
/ 25 мая 2018

Это содержимое моего файла .htaccess.

Я хочу сделать две вещи:

  1. Удалить index.php из URL CodeIgniter;
  2. Принудительно все соединения через https://

HTTPS работает нормально, но index.php остается в URL.Как я могу это исправить?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ответы [ 3 ]

0 голосов
/ 25 мая 2018

Попробуйте,

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
0 голосов
/ 25 мая 2018

Проверьте, удаляете ли вы index.php из базового URL после внесения изменений в файл .htaccess.

0 голосов
/ 25 мая 2018

Вот рабочий код для CodeIgniter, надеюсь, это поможет

 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]   

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]

</IfModule>

Также из config.php, который находится в папке конфигурации приложения, вы должны удалить index.php и установить его пустым

$config['index_page'] = '';
...