2011-07-13 7 views
2

私は、うまくいけば誰かが私を助けることができる検索フォームでcatch-22を実行しました。ヘッダーにミニ検索フォームを使用するとMagentoストア(マイアカウント、チェックアウトなど)の安全なページから安全な検索結果ページhttps://oursite.com/catalogsearch/resultに移動します。そのページに安全でないコンテンツがあるため、ブラウザの警告が表示されます。私はgetResultUrl関数が常にhttp:リンクを返すようにCatalogSearchヘルパークラスを修正することでこれを修正できると考えました。ただし、この結果、ブラウザは、非セキュアな接続を介してフォームデータを送信しようとしていることを警告します。だから、私はユーザーに危険に見えない解決策を見つけるように見えることはできません。Magento mini検索フォームを安全なページから

アイデア?

答えて

1

これはXML Magentoモジュールの適切なEAV/MVC/1000行ではありませんが、これは単純なhttp/httpsの問題であるため、.htaccessに数行を入れて正しく動作して検索ボックス:

RewriteCond %{SERVER_PORT} !^80$ 
RewriteRule ^catalogsearch http://www.example.com/catalogsearch/ [R=301,L] 
+0

これは私のローカルサーバーで私の簡単なテストで動作するようです。私はそれをより一般的なものに少し変更しました: 'RewriteCond%{HTTPS} on' 'RewriteRule^catalogsearch http://%{HTTP_HOST}%{REQUEST_URI} [R = 301、L]' – BrianVPS

+0

...あなたはその一般的な書き直しの非常に良い仕事をしたと思います。 @Joseph Masteyは良い点を持っています。ページのリンクは、ページの正しいプロトコルを自動的に選択するために、ページが常に//(http:// https:// https:/またはgopher:それ以前)でなければなりません。これはバイトを節約します。とにかく、私は 'ハック'アイディアが使用されてうれしいです。 –

1

この問題を解決する正しい方法は、そのページに混合コンテンツを使用することではありません。 Magentoは、HTTPS経由で任意のページを処理できます。そのため、http://でハードコードされているアセットを見つけて、現在のプロトコルを正しく守るように修正します。

+0

ありがとう、@ジョセフ・マステイ、それはおそらくそれを修正する "正しい"方法だと思います。残念ながら、犯行者の1人はtwitter followボタンであり、twitterはhttpsに相当しません。私は2番目の答えで.htaccess書き換えルールをテストしました。それはうまくいくように見えますので、そこに問題がない限り、私はそれに行くつもりだと思います。ありがとう:) – BrianVPS

0

私にとっては、不正なURLがキャッシュに滞留していて(私たちはライブサーバー上にキャッシュが重かった)、それは私にセキュリティの警告を引き起こしました。これが誰かを助けることを望みます。

0

質問があります - なぜこれが起こっていますか? 非セキュアページで検索すると、非セキュアページで検索結果が得られます。 セキュリティで保護されたページを作成した後、セキュリティで保護されていないページを検索すると、安全なページに結果が表示されます。これの目的は何ですか?

関連する問題