В течение последних нескольких часов (дней) у меня возникали проблемы с перенаправлением страницы в SSL.
Моя настройка следующая: у меня есть следующий .htaccess для сайта электронной коммерции на Apache 2.2.16 в Debian (все необходимые моды включены)
RewriteEngine On
RewriteBase /shop
RewriteCond $1 !^(index\.php|products|img|theme\.php|checkout\.php)
RewriteRule ^(.*)$ index.php?/$1 [L]
все запросы передаются в index.php, который действует как мой контроллер и включает в себя другие файлы .php при необходимости.
Теперь я хочуиспользовать HTTPS для процесса оформления заказа, который представляет собой php-скрипт, хитро называемый checkout.php
. Я подумал, что это будет так же просто, как изменить мой .htaccess на:
RewriteEngine On
RewriteBase /shop
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{SERVER_URI} checkout\.php
RewriteRule ^checkout.php?/$1 https://localhost/shop/checkout.php?/$1 [L,R]
RewriteCond $1 !^(index\.php|products|img|theme\.php|checkout\.php)
RewriteRule ^(.*)$ index.php?/$1 [L]
так, чтобы оформить заказ.php не обрабатывается index.php.Видимо, не все так просто.Я мог бы сделать это, используя жестко запрограммированную ссылку https для оформления заказа, но я бы предпочел сделать это с помощью mod_rewrite.Если кто-то сможет поделиться с вами некоторыми соображениями, это будет очень полезно.
Заранее спасибо