-
投稿者投稿
-
2021年7月2日 4:35 PM #79869
### バージョン
snow-monkey 0.1.5
### 実現したいこと
顧客側のサーバー、サブディレクトリ(仮にhttps://A.com/magazine/とします)でリバースプロキシを用いており、こちらの環境(別サーバ、別ドメイン:仮にhttp://B.comとします)のソースを読み込む形でサイト構築しています。
JSファイルのURLパス(現在:http://B.com/wp-content/plugins/snow-monkey-blocks/dist/block/categories-list/script.js?ver=1622336481)を、
リバースプロキシ経由のURL(変更後:https://A.com/magazine/wp-content/plugins/snow-monkey-blocks/dist/block/categories-list/script.js?ver=1622336481)に変更したいです。
どこのパスを変更すれば実現するのかが不明なため、ご教示たいだきたく存じます。
### 発生している問題
顧客側のサーバーではXSS対策として外部ファイルをブロックしているため、JSが効かずハンバーガーメニューが開けない等の不具合が発生しています。
♥ 0Who liked: No user2021年7月3日 12:22 PM #799002021年7月4日 12:40 AM #79955説明が下手で申し訳ないです。
以下で伝わりますでしょうか?
本番サイト:A.com/magazine/
更新サイト:B.com
・本番サイトA.com/magazine/は、リバースプロキシにて更新サイトB.comのデータ(ソース)を取得して表示している
・実データはB.comのサーバーにあるため、サイト編集はB.comで実施している
・B.comのソースを取得し、そのまま反映するため、ソース内のサイト内リンク、画像ファイル、各種JSなどのURLパスがデフォルトだとB.com/〜になっていた
・A.comのサーバ環境では、xss対策として外部ファイル読み込みはブロックしているため、サイト内リンク、画像ファイル、各種JSなどが効かない事象が発生。
・A.comにて、外部ファイル読み込みを許可することは、先方のセキュリティ規定上難しいそうです。
・そのため、
– サイト内リンクは「サイトURL」でしたいドメインを変更
– 画像ファイルは「wp-admin/options.php」のupload用のパスにてドメイン変更
を実施したが、JSファイルのみパスのドメイン部分を変更する方法がわからない状態です。
一括で変更する方法が有ればご教示いただきたいと思い、投稿しました。
♥ 0Who liked: No user2021年7月5日 9:18 AM #80043– サイト内リンクは「サイトURL」でしたいドメインを変更
すみませんこれは具体的に何をされたのでしょうか? ダッシュボード → 設定 → 一般の「WordPress アドレス」「サイトアドレス」のことですかね?
– 画像ファイルは「wp-admin/options.php」のupload用のパスにてドメイン変更
これも具体的に何をされたのでしょうか?
僕がリバースプロキシ含めたそのサーバー構成をよく理解していないので適切な回答ができないのですが、ダッシュボード → 設定 → 一般の「WordPress アドレス」「サイトアドレス」を変えてうまくいくならそれが一番良いでしょうし、いかないなら
script_loader_tag
などのフックで変えていく感じではないでしょうか。♥ 0Who liked: No user2021年7月5日 9:56 AM #80054ご確認ありがとうございます!
すみませんこれは具体的に何をされたのでしょうか? ダッシュボード → 設定 → 一般の「WordPress アドレス」「サイトアドレス」のことですかね?
はいおっっしゃるとおりで、「サイトアドレス (URL)」を、変更したい「ドメイン名+ディレクトリ」へ変更しました。
これも具体的に何をされたのでしょうか?
以下の2つを行いました
1.~/wp-admin/options.phpを開く
2.[upload_url_path]を変更したい「ドメイン名+ディレクトリ」に変更
※以下記事を参考にいたしました。
いかないなら script_loader_tag などのフックで変えていく感じではないでしょうか。
こちらありがとうございます。もう少し調査してWordpressについて学び、上記を試してみたいと思います。
2021年7月5日 1:46 PM #80072ありがとうございました。
ご教示いただいたscript_loader_tagを用いて、以下のようにfunction.phpに追記することで解消しました。
//JSパスを書き換え
function replace_script_tag ( $tag ) {
return str_replace( ‘変更前ドメイン’, ‘変更後ドメイン+ディレクトリ’, $tag );
}
add_filter( ‘script_loader_tag’, ‘replace_script_tag’♥ 0Who liked: No user -
投稿者投稿
- トピック「JSファイルのパスを変更したい」には新しい返信をつけることはできません。