Как перенаправить http на https://www.example.com с помощью файла htaccess? - PullRequest
0 голосов
/ 26 ноября 2018
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Я создал сайт, используя Codeigniter framework, и мой домен и хостинг на GoDaddy.Теперь я установил SSL certificate и управляю своим сайтом.Теперь, когда я использую example.com в URL, он перенаправляет меня на https://www.example.com, но когда я нажимаю на мою страницу login, она показывает мне Not Found, и URL выглядит как https://www.example.com/index.php?/login, но я хочу, чтобы URL был https://www.example.com/login.Итак, как я могу это сделать?Пожалуйста, помогите.

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 ноября 2018

Пожалуйста, используйте это htaccess правила будут работать 100%

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
0 голосов
/ 27 ноября 2018

используйте это:

Options All -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
0 голосов
/ 26 ноября 2018
  1. Изменить порядок ваших правил
  2. Имеется одно правило для перенаправления www и http -> https

Ваш .htaccess должен выглядеть следующим образом:

RewriteEngine on

# redirect for adding www and https
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

Обязательно используйте новый браузер для тестирования.

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