Отправить форму с http на https в Magento

В настоящее время я хотел бы перенаправить свою страницу контактов с http на https.

Мне удалось перенаправить эту единственную страницу в файле .htacces, добавив следующий код:

RewriteCond %{HTTPS} off
RewriteRule ^(contacts/.*)$ https://www.domain.com/$1 [R=301,L]

Этот код работает для моего домена.

Проблема возникает, когда я нажимаю «Отправить». Форма не отправляется корректно после включения перенаправления. Сообщение indexcontroller: «Ваш запрос был отправлен и будет дан ответ как можно скорее. Спасибо, что связались с нами» не появляется, и мы не получаем электронное письмо. На данный момент я отключил перенаправление в файле .htacces.

Contacts.xml можно найти в app/design/front/base/default/layout/contacts.xml form.phtml находится в app/design/frontend/base/default/template/contacts/form.phtml.

Я скопировал эти два файла в свой шаблон на случай, если мне понадобится их изменить. Я изо всех сил старался найти что-то похожее, но ничего работающего не нашел. Пожалуйста помоги.

заранее спасибо


person Billy    schedule 18.12.2013    source источник
comment
Я предполагаю, что это отправляется через AJAX, какие ошибки JS вы получаете? ты постишь на https? что такое ответ AJAX, если он отправляется?   -  person cmorrissey    schedule 19.12.2013
comment
Взгляните на источник страницы вашей контактной формы, действие вашей формы по-прежнему не должно быть https, поэтому при отправке формы она будет перенаправлена, поэтому вы не увидите сообщение об успешном завершении. Я думаю, вы могли бы создать собственный модуль, который расширяет контакт и использовать <routers> для создания https.   -  person Renon Stewart    schedule 19.12.2013
comment
@ChristopherMorrissey Я не знаю, как опубликовать это на https ... Я использовал RewriteUrl, и это не работает. Я попробовал кое-что в Интернете, но боялся, что сломаю его, поэтому я изменил все обратно, потому что это не сработало (у меня на тестовом сервере не установлен HTTPS).   -  person Billy    schedule 19.12.2013
comment
@RS, у тебя есть пример для меня, чтобы я мог его реализовать?   -  person Billy    schedule 19.12.2013


Ответы (1)


Взгляните @ Magento - Возможность удалить товар из корзины на странице просмотра товара

config.xml

<config>
    <modules>
        <MagePal_Contacts>
            <version>0.6.0</version>
        </MagePal_Contacts>
    </modules>
    <frontend>
        <routers>
            <secure_url>
                <contact>/contact/</contact>
            </secure_url>
            <contacts>
                <use>standard</use>
                <args>
                    <modules>
                        <MagePal_Contacts before="Mage_Contacts">MagePal_Contacts</MagePal_Contacts>
                    </modules>
                    <frontName>contacts</frontName>
                </args>
            </contacts>
        </routers>

       ...

Затем измените действие формы на

<form action="<?php echo $this->getUrl('', array('_secure'=>true)) . 'contacts/index/post' ?>" ... 

or

<form action="<?php echo $this->getUrl('contacts/index/post', array('_secure'=>true)) ?>" ... 
person Renon Stewart    schedule 19.12.2013
comment
Спасибо за ваш ответ, в конце концов я сделал следующее: RewriteCond %{HTTPS} off RewriteRule ^(contacts/.*)$ domain.com/$1 [R=301,L] в .htacces, и я изменил форму на: ‹form action=‹?php echo $this-›getUrl('contacts/index/post' , array('_secure'=›true)) ?› Спасибо за помощь - person Billy; 19.12.2013
comment
Как изменить код формы? Где находится? - person Filippos; 28.01.2019