サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2022年4月14日 16:42
ブックマークからや直接URLの検索ではエラーになるようにしたいです。
調べてみると.htaccessというファイルをいじる必要がありそうですが素人がいじらない方がよさそうです。(.htaccess で特定のURLを経由したアクセスのみ許可する方法|HTML|WEBデザインの小ネタとTIPSのまとめサイト「ウェブアンテナ」 (webantena.net))
また上記サイト内の
demoA/フォルダ内に.htaccess ファイルを用意して以下の記述を行い、サーバーにアップします。
がサーバー側のファイルのどこに作成すればいいかわからない。
.htaccessの詳しい説明やほかのやり方などあればアドバイスを下さい。
参拝 | デジタル神社 (digital-jinja.com)の緑のボタン2つから参拝中 | デジタル神社 (digital-jinja.com)に移る過程を想定しています。
2022年4月14日 20:17
また上記サイト内の
demoA/フォルダ内に.htaccess ファイルを用意して以下の記述を行い、サーバーにアップします。
がサーバー側のファイルのどこに作成すればいいかわからない。
これはあくまでサンプルなので、今回の件には当てはまらないような気がします。
.htaccessの詳しい説明やほかのやり方などあればアドバイスを下さい。
こういうのはしっかりとした解説ページを読むのが一番の近道かと思います。
https://www.kagoya.jp/howto/it-glossary/web/htaccess/
https://murashun.jp/article/programming/htaccess/htaccess-writing.html
https://qiita.com/sanogemaru/items/7e5bd6e8dc9b04c9978e
自分で行うのが手に余る場合は、書かれている通り触らない方が無難かと思います。
復旧方法を知らずに触るとサイトの全ページがエラーになるので。
Topic starter
2022年4月15日 17:12
わいひらさんアドバイスありがとうございます。
の設置場所の項目を読む感じやはり
demoA/フォルダ内に.htaccess ファイルを用意して以下の記述を行い、サーバーにアップします。
みたいなことが必要な気もしますが、、、
サーバー側のサイトフォルダのpublic_html内に.htaccessはあるのですがここに
1
2
3
4
|
SetEnvIf REFERER "www.webantena.net/demoB" ref_ok
Order Deny,Allow
Deny from all
Allow from env=ref_ok
|
を追加すると全体に適応されそうで違う気がしました。
そこでpublic_html内にdemoB/demoA(例)と2つフォルダを作り最初はAだけに次に両方に.htaccessを作り上記のコード(?)を足しました。
がエラーになりました。
元々あった.htaccess内のコードもコピペしてみましたがダメでした。
やはり難しそう(笑)
今は足したものを消してサイトは戻りました。
2022年4月15日 19:44
厳密な判定は不要に思えるので、PHP でやるのも手かなと思いました。
これを子テーマの functions.php に追加します。
https://notepad.pw/share/4yb0i0y2b
エラーを出すようにとのことでしたので、404 エラーを出すようにしています。ただ、↓ のページへのリダイレクトでもいいかなと思いました。
This post was modified 3年前 by Akira
わいひら reacted
Topic starter
2022年4月16日 15:54
akiraさんアドバイスありがとうございます。
確かにリダイレクトの方が利便性がいい気がしますね。
その場合はどうしたらいいですか?
Topic starter
2022年4月17日 16:38
@akira 右のボタンからは上手く行きました。でも左のボタンはstripe決済経由でURLが違うので上手く行かないことに気づきました。そこで以下のように変更してみましたが全てがリダイレクトされてしまいます。
https://notepad.pw/share/u6r15nnn
$refererにインデックス配列で入れてforループで処理出来てると思うのですが、、、
2022年4月17日 19:26
@takaaa さん
左のボタンは別のページに移動するのですね。
$referer を配列にする場合は、in_array() の使用が頭に浮かびました。
https://notepad.pw/share/goab3kto9
そもそも、配列にする必要はあるかな?とも思うので、こちらでもいけると思います。
This post was modified 3年前 by Akira
わいひら reacted
Topic starter
2022年4月20日 15:44
@akira 決済のURLが複数あるので配列がいいと思いました。しかし上手く行きません。
調べてみるとリンクの為のURLと決済画面(チェックアウト)のURLが違いました。そっちのURLにすればいいと思いましたがしかしこの決済画面のURLは毎回違うので教えてくれたやり方だと上手く行かないかもしれません。
【WordPress】特定のページからの遷移のみページを表示する (teratail.com)
このページのアンサーで
購入済みになった時点でセッション変数にそれを表す変数を持たせておくなりして
それによってプラグインのフィルタフックやテーマのテンプレートでアクセス制限をしましょう
とありましたが役立ちますか?
ややこしい事になってしまって申し訳ありません。
2022年4月20日 19:32
@takaaa さん
あとは takaaa さんご自身でなさるか、どなたかにご依頼ください。フォーラムでは対応が難しいです。
一応、私の頭に浮かんだ選択肢を書いておきます。
● 正規表現とリファラで判定
Stripe の URL は正規表現で書き、リファラで判定します。
ただし、in_array() は検索する値に正規表現を使えないため、他の関数を使う必要があります。また、teratail に書かれているとおり、リファラでは厳密な判定はできません。
● Stripe の API を使う
Stripe には API があるので、それを使います。
This post was modified 3年前 3回 by Akira
わいひら reacted
Topic starter
2022年4月23日 16:22
● 正規表現とリファラで判定
こちらを調べてpreg_grep関数を使って色々試してみましたがやり方が悪いのか、上手く行きませんでした。
phpのリファラはアクセス元がわかる!取得から書き換えまで解説 | 侍エンジニアブログ (sejuku.net)
stripeの決済画面からはリダイレクトでページに帰ってくる仕組みのようなのでこの記事にあるようにリファラはそもそも機能しないのかもしれません。
APIは理解するまで相当時間がかかりそうなので、、、(^^;
それで考えた結果、アクセスするページを分けることにしてブックマークやURL検索ではリダイレクトさせるようにしました。
これで様子を見ようと思います。
わいひらさん、akiraさんアドバイスをありがとうございました。
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。