Перенаправление HTTPS на HTTP в Magento с исключением извлечения (Apache) - PullRequest
3 голосов
/ 19 августа 2010

Я использую установку Magento с плагином одноступенчатой ​​проверки, что означает, что у меня очень мало страниц, требующих HTTPS.Я хочу управлять поисковой индексацией HTTPS и доступом пользователей, перенаправив всю HTTPS-версию сайта , за исключением, конечно, для безопасной проверки.

Раздел безопасной проверки - /onestepcheckout/ (а такжевключает в себя некоторые подстраницы этого, то есть onestepcheckout/failure).

Это то, что я имею до сих пор, но HTTPS не вставляет на страницу оформления заказа с этим кодом, перенаправление работает во всех других случаях (т.е.Я отправляю индекс HTTPS в индекс HTTP) только исключение, которое не работает:

#Redirect HTTPS to HTTP except checkout 
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^onestepcheckout
RewriteRule ^(.*)$ http://www.mysite.co.uk/$1 [R=301,L]

#Require SSL on checkout
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} ^onestepcheckout\/?$
RewriteRule ^(.*)$ https://www.mysite.co.uk/$1 [R=301,L]

Я также смутно осторожен, что /onestepcheckout/ не содержит безопасных ресурсов, и поэтому исключение может потребоваться добавить к изображениям и стилюлисты и т. д.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2014

Попробуйте это:

    RewriteCond %{REQUEST_URI} onestepcheckout
    RewriteCond %{HTTPS} !off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
0 голосов
/ 05 января 2012

Не забывайте, что хотя пути в RewriteRule оцениваются относительно контекста файла .htaccess, переменная REQUEST_URI относится к фактическому запросу и поэтому содержит начальный слеш.

need

RewriteCond %{REQUEST_URI} ^/onestepcheckout\/?$

В качестве альтернативы вы можете обратиться к захваченной части из правила перезаписи:

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