WordPressにはContact Form 7というお問い合わせフォームが簡単に出来るプラグインがあるそうです。
しかし、さくらインターネットのスタンダードプランの様な共有SSLを使っている場合はformのactionが別のURLを指す必要があるので動きません。PHPでベタにお問い合わせフォームの作成を依頼されたんですが、面倒なのでContact Form 7を修正してWordPress本体とは別のURLで動くようにしました。
% diff wp-content/plugins/contact-form-7/settings.php{,.org}
115c115
< return (string) 'https://secure1111.sakura.ne.jp/example.com'.$wpcf7_request_uri;
---
> return (string) $wpcf7_request_uri;
多分、WebサーバーがURLを書き換えているので環境変数から現在のREQUEST_URIが取れない。仕方なくベタにURLを書きました。javascriptでfromのactionを書き換えれば汎用的になりそうですがそれはキモイのでこれでいいや。
分かり辛い書き方でしたね。すいません。
wp-content/plugins/contact-form-7/settings.phpの115行目を下記の様に書き換えると動きます。(URLの部分は各自の共有SSLに書き換えてください)
return (string) 'https://secure1111.sakura.ne.jp/example.com'.$wpcf7_request_uri;
URLを変更し書き換えてみましたが、同じさくらインターネットですが動きません<<涙
症状は送信ボタンを押すと送信したまま何もおきない状態です。どうやら正常の時の
POSTメソッドではなくOPTIONメソッドになってしまうようです。
その他の部分は何か変更しているのでしょうか?たびたびすみませんが、もし、推測できる
対処法がありそうでしたらアドバイスください!
メソッドにOPTIONというのは無いのでその部分は関係ないかもです。(GET, POST, PUT, DELETE)
知人のサイトを趣味で作ってますが、具体的に見てもらいたいです!
該当のお問い合わせページは以下です。
今はエラーで送信されませんので、送信ボタンを押していただいても結構です。
http://abs.goal-dream.com/?page_id=58
書き換えは、正しく行ったと思います↓
return (string) 'https://secure911.sakura.ne.jp/abs.goal-dream.com'.$wpcf7_request_uri;
(https://secure911.sakura.ne.jp/abs.goal-dream.com で該当のSSLのページが開きます。)
プラグインの干渉かと思って、ほかのプラグインをすべて停止しても動きませんでした。
うーん、何か環境が違うのかもしれませんね。。
からテスト送信しました。ちゃんと動いたっぽい感じがしますがどうでしょうか。
ただ、新たな疑問が。。。komagataさんは、https://~ のページをWORDPRESSに用いているのでしょうか?
どういう形で作られたのでしょうか?!
URLの見栄えの悪さ(共有SSL)が嫌な場合は専用サーバーなどでSSL証明書を購入しています。
なるほどですね!では、パーマネントリンクとかを書き換えているのでしょうか?
実は暗号化したいところだけ違うURLで表示させる方法がわかりません。。なので、
komagataさんの方法がわからなかったんだと思います。
同じようにやってみたいです!(本当に何度もすみません、うるさい奴ですよね・・・勘弁してください!)
お忙しい中、教えていただきありがとうございました。
SSLには対応し動いているようなので、あとは何とか自力解決したいと思います!
情報助かりました!
先日はありがとうございました。
お問い合わせページのリンクを下記プラグインによりSSLに変更することができました!
http://wordpress.org/extend/plugins/page-links-to/screenshots/
これで、お問い合わせページのみSSLに対応することができました。
ご教授ありがとうございました。
御礼まで
なんと、こんな便利なプラグインもあるんですねー。
googleでこちらのサイトにたどり着き
記載の通りに、setting.phpの部分を直したつもりでしたが、
送信ボタンを押すと、、https://secure1845.sakura.ne.jp/contact#wpcf7-f3-p359-o1 と遷移し、ページ読み込みエラー リクエストを正常に完了できませんでした。となって、変化ありませんでした。 (firefox3.5で確認中)
komagataさんに、「setting.phpの変更が間違ってるのでは?」とご指摘受けてもう一度確認したところ、
return (string) 'https://secure1845.sakura.ne.jp/account'.$wpcf7_request_uri; としておりました。
きちんと、.jpまでつけて
return (string) 'https://secure1845.sakura.ne.jp/account.jp'.$wpcf7_request_uri;
と直してアップロードすると、バッチリ動作しました。
ヨータロさん同様に他の問題がいろいろあるのではないかと、悩んでしまいましたが、
komagataさんのご指摘どおりにsetting.phpを一行訂正するだけで動くんですね。←(ここ重要!!テストで出ます)
大変助かりました。有難うございます。
<環境>
対象URL:http://account.jp(ドメインは公開するのに抵抗があるため変更しております。)
共有SSL対応URL:https://secure1845.sakura.ne.jp/account.jp
wordpress:バージョン 2.8.6
サーバー:さくらインターネット スタンダードプラン
作成したフォーム:
1.問い合わせ
http://account.jp/contact→
https://secure1845.sakura.ne.jp/you-staff.jp/contact
丁寧にご教授戴いたkomagataさんに感謝申し上げます。
ちょうど、Contact Form7を共有SSLで利用したいと思い、
情報を探してた所、このサイトを見つけました。
僕は、ヘテムルを利用しているのですが、共有SSL、
利用出来るので、この記事の通り、setting.phpを変更
してみましたが、送信ボタンを押してもエラーもでず、
ずっと、送信し続けている感じで上手く動きません。
そこで、一つ質問なのですが、setting.phpを変更は
おそらく間違いないのですが、共有SSLのサイトにも
同じようにWordPressを入れてContact Form7で
お問い合わせページを作って、それで、setting.phpに
記述しなければならないという事でしょうか?
現在は、このような状態です。
http://www.esora-create.net/inquiry/
setting.php内の記述
return (string) 'https://ssl35.heteml.jp/naosan'.$wpcf7_request_uri;
https://ssl35.heteml.jp/naosan/ にはWordPressは入れてません。
お時間があるときで構いませんので、何か上手く動くヒントがあれば、
教えて下さい。よろしくお願い致します。
何か、上手く共用SSLと連動できるアドバイスがあればと…
お時間のあるときで結構ですので、よろしくお願い致します。
http://ja.forums.wordpress.org/topic/278?replies=3
こちらも参考にして、functions.phpにも記述してみましたが、
状況は変わりませんでした。
※WordPressのバージョンは、バージョン 2.9.2です。
僕のサイトではエラーになったので、再度、ヘテムルサポートに連絡しましたが、
ヘテムルを利用の方、是非、試して見て下さい。
http://naosan.heteml.jp/customize/archives/396/20100331/
こちらのページ、とても分かりやすくて参考にさせていただいております。ありがとうございます。
先程、挑戦してみました。なんとか成功したのですが、IEは送信後、HTMLのみのページ表示になってしまい、chromeはhttps:にスラッシュがかかった状態になります。その意味は「256ビット暗号により暗号化されています。ただし、このページには安全でないほかのリソースが含まれています。これらのリソースは送信中に他のユーザーに参照されたり、悪意のあるユーザーにページの動作を変更されたりする可能性があります。」ということだそうです。
設定が間違ってしまっているのでしょうか?
使用しているWORDPRESSは3.0.1
サーバーはロリポップです。
こんにちは。
「HTMLのみのページ表示」「https:にスラッシュがかかった状態」
とはどういう意味でしょうか?
OSの種類とバージョン、IEやChromeのバージョンはいくつでしょうか?