2017-02-03 5 views
0

Я новичок в манипулировании .htaccess, я triying заставить HTTPS на веб-странице с помощью .htaccess так что если пользователь попытаться достичь http//localhost/myproject/ он будет перенаправлять https//localhost/myproject/ следующим образом:код 302 Найдено бросок, когда заставляющие HTTPS CodeIgniter

RewriteEngine on RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
AddDefaultCharset UTF-8 

проблема заключается, что при загрузке http//localhost/myproject/ браузер не перенаправлять https//localhost/myproject/, InstEd это возвращение:

Found 

The document has moved here. 

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. 

Если удалить эту строку RewriteRule ^(.*)$ index.php/$1 [L,QSA], в браузере загружается uri https//localhost/myproject/, но каждый другой маршрут, например https//localhost/myproject/about, не будет загружать ошибку броска 404.

Что не так в .htaccess? Как это можно решить?

ответ

1

Вам необходимо добавить [L,R=301] в свое правило, чтобы произошло перенаправление, а затем следующее следующее правило будет выполняться при следующем загрузке.

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

Это работает, спасибо –