Как переписать http запросы на https на определенных страницах моего сайта? - PullRequest
6 голосов
/ 12 мая 2011

Эй, люди. Я вижу, что эта тема повторяется снова и снова на SO, но я попробовал несколько опубликованных здесь решений, и ни одно из них не сработало для меня. Так что в основном - я знаю, как изменить определенные страницы на моем сайте, чтобы они были в режиме https. Тем не менее, я не знаю, как переписать HTTP-запросы, которые ВНУТРИ кода. Так, например, если моя страница, скажем, payment.php, содержит ссылку, которая загружает такой внешний файл ccs, как этот -> http://example.com/somecss.css, тогда Google Chrome увидит его как опасную ссылку и отобразит красный замок рядом с URL сайта. , Теперь я проверил это вручную, изменив все http-запросы внутри кода на https, и замок волшебным образом стал зеленым, так что я думаю, что мне нужно какое-то правило перезаписи мод, которое бы переписывало все ссылки на этих конкретных страницах так, чтобы они содержать https. Надеюсь, я объяснил это достаточно хорошо. Может кто-нибудь мне помочь? Я использую codeigniter.

Ответы [ 2 ]

3 голосов
/ 12 мая 2011

Чтобы переписать http-запросы внутри кода, вы должны использовать относительные к протоколу пути.

<link rel="stylesheet" href="//www.domain.com/style.css"> 
<script src="//www.domain.com/script.js"></script> 

Он будет автоматически использовать протокол родительской страницы

2 голосов
/ 12 мая 2011

Вы должны убедиться, что пользователь просматривает ваш сайт через безопасное соединение. Вы можете перенаправить пользователя на защищенное соединение (https://), используя файл .htaccess, содержащий следующие строки:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

Обратите внимание, что .htaccess должен находиться в главной папке веб-сайта.

Если вы хотите использовать HTTPS для определенной папки, вы можете использовать:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} somefolder 
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L]

Файл .htaccess должен быть помещен в папку, в которую необходимо принудительно установить HTTPS.

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