2016-12-16 4 views
0

Я пытаюсь заставить non-https только одну папку на сайте, а остальное все должно быть https. Вот мой .htaccess код:Force http to one filder rest force https

RewriteEngine On 

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

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
RewriteRule ^reports$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^([0-9a-zA-Z].+)$ /page.php?title=$1 [L] 

ErrorDocument 404 404.php 

ответ

0

Я думаю, проблема у вас есть, что даже отчеты папка получает вынуждена HTTPS. Это правильно?

Это было бы так, потому что вы сначала ставили это правило. Общий порядок правил должен быть: Наиболее конкретным, в первую очередь, самым общим. Таким образом, ваше общее правило https-принуждения должно быть последним. Или, по крайней мере, это должно быть после вашего правила соблюдения http.

Также вы используете только команды/отчеты/на http. Все в этом каталоге снова будет https. Я думаю, вы должны изменить его на

RewriteCond %{REQUEST_URI} ^/reports/(.*)$ [NC] 
RewriteRule ^(.*)$ http://yourdomain.com/$1 [R=301,L] 

Если я вижу это правильно, вы выполняете все, чтобы не начинать с www. Поместите это правило после правила report-http и измените его на https. Это сэкономит вам одну переадресацию.

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

Чем ваш HTTPS-обеспечения соблюдения правила и чем переписывание к page.php, если не существующий файл или каталог.

+0

Все в порядке, но когда я открываю отчеты о его перенаправлении на не-https, это нормально, но не открывается страница, на которой он говорит: страница не перенаправляется должным образом. –

+0

Пожалуйста, проверьте инструменты разработчика firebug или chrome (или что бы вы ни делали используя), которые перенаправляются. Возможно, есть еще один переадресационный запуск после http принудительного использования. – Seb

+0

У меня есть firebug, но как проверить ошибки в перенаправлении с помощью firbug? Я не знаю, как это сделать. извините –