codeigniter, форсировать ssl на определенной странице - PullRequest
3 голосов
/ 02 апреля 2012

Я с трудом пытаюсь заставить https (ssl) перейти на конкретную страницу в рамках codeiginiter. Я пробовал много способов, но ни один не работал. Единственный способ, который мне помог, - это изменить ссылку на сайт $ config ['base_url'] , чтобы начать с https вместо http . В результате все ссылки были установлены на ssl (весь сайт), что не имеет смысла, потому что мне не нужно везде использовать SSL. Я использовал некоторый php-код на странице входа в систему, но это вызвало некоторые проблемы, поэтому я отказался от него.

Я хочу знать, является ли это хорошим методом, как это сделать, любая идея?

Спасибо

1 Ответ

4 голосов
/ 02 апреля 2012

Вам нужно добавить условие на .htaccess, чтобы использовать порт SSL только для выбранных URL.

Вот пример, как это сделать

RewriteEngine on

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} controller/function
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L]

RewriteCond %{SERVER_PORT} 443 
RewriteCond %{REQUEST_URI} controller/function
RewriteRule ^(.*)$ https://www.yourdomain.com/controller/function[R=301,L]

RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L] 

P.S: Ваш base_url должен быть установлен на “/” в вашем файле конфигурации. Для получения дополнительной информации проверьте http://codeigniter.com/wiki/SSL_Handling

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