現在、Drupal サイト (6.*) に取り組んでいます。本番モードでは、何らかの http プロキシを介してアクセスされます。つまり、$_SERVER['HTTP_X_FORWARDED_SERVER']
変数が に設定されている場合、カスタム テーマのすべてのリンクを書き直す必要があります。ユーザーがサイトにアクセスするドメイン。
サイトには多くの内部リンクがあり、主にViews
. 私の考えでは、これを解決する最も簡単な方法は、url()
および/またはl()
関数にフックし、設定されている場合はそれを返す前にURLを後処理することですHTTP_X_FORWARDED_SERVER
。
私の問題は、これらの関数にフックする方法がわからないことです。または、コアに触れなくても可能であれば、誰かがこれを行う必要がありましたか? どのように解決しましたか?
更新: プロキシがプロキシ ドメインのルート レベルに配置されないことを忘れていたので、すべての URL を書き換える必要があると思います (システムによって生成された css ファイルや画像などへの内部リンクとパスの両方)。
例:
proxy.com/path -> site.com/lots/of/dirs
proxy.com/path/node/1 -> site.com/lots/of/dirs/node/1
proxy.com/path/sites/all/themes/mytheme/my.css -> site.com/lots/of/dirs/sites/all/themes/mytheme/my.css