Codeigniter, htaccess и HTTPS
От: Freid  
Дата: 18.02.14 10:54
Оценка:
Имеется сайт на Codeigniter, где нужно пару страниц поместить под HTTPS. Я перепробовал все варианты, который смог нагуглить, но ни один не увенчался успехом — сайт вообще никак не реагирует.

Пробую сделать приблизительно так:

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /payment
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

При чем, что весь сайт закрыть HTTPS-ом получается легко:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Но отдельную страницу — просто никак! Сервер вообще игнорирует это правило и выводит всё по HTTP, как ни в чем ни бывало.

Урл для HTTPS такой:

domain.com/payment/buyproduct

Хуже всего еще и то, что потом, при выходе с этой страницы, HTTPS должен автоматически поменяться снова на HTTP. Дело в том, что функция Codeigniter-a base_url() выводит урл вместе с протоколом и если на страницу зашли по HTTPS, то и все ссылки становятся тоже защищенными, что неприемлемо.
А для того, чтобы обойти всё это дело в коде, надо запиливать огромный костыль на весь проект, чтобы выводить в нужных местах ссылки с нужным протоколом — это архигемор и хотелось бы всё решить с помощью htaccess.

Исходный .htaccess выглядит таким образом:

RewriteEngine on

RewriteCond $1 !^(index\.php|images|themes|robots\.txt)

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

RewriteRule . /index.php [L]

#в этом месте я пытаюсь добавить правила для HTTPS

Он убирает index.php из урлов Codeigniter-а. Может именно из-за этого не получается финт с HTTPS-ом? Я не знаток htacces, поэтому я вообще не понимаю, как его настраивать. Помогите, пожалуйста.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.