リダイレクトの再考

#33 Drupal ドキュメントルートの設定にて設定完了後に出ているエラー


Redirects to external URLs are not allowed by default, use \Drupal\Core\Routing\TrustedRedirectResponse for it.

外部 URL へのリダイレクトを意図的に制限することで、オープンリダイレクト攻撃を防ぐ Drupal のセキュリティ機能です。

プライマリー > hooked-on01.com/public_html/drupal.hooked-on01.com/

インストール先 > hooked-on01.com/public_html/drupal.hooked-on01.com/recommended-project/

プライマリーをDrupalプロジェクト外部として扱っておりインストール先ディレクトリ外へのリダイレクトに対してDrupalがセキュリティ制限をかけてしまっています。

drupal.hooked-on01.com/recommended-project/admin/ が drupal.hooked-on01.com/admin/
にリダイレクトされてしまう為に出ているエラーとなります。

外部へのアクセスを許可する設定をする事で回避出来そうなので、TrustedRedirectResponseなどいくつかの設定を試みましたが、現状エラーを回避できていません。

共用サーバーであるXserverビジネススタンダードの機能面での制約の中で無理やりDrupalのインストールを行なった上での運営となっていることが理由となっています。

サブドメイン直下のディレクトリにDrupalプロジェクトディレクトリを設置

  1. Apacheの設定は不可
  2. ドキュメントルートの設定は不可
  3. .htaccessの設定でURL表示を設定

Drupalの管理画面のURLがリダイレクト設定によりDrupalプロジェクト外部にリダイレクトされていることでセキュリティエラーを出してしまっています。


上記のエラーについて、当サイトをご覧いただいた方から貴重なアドバイスをいただきました。

エラーはログインのリダイレクトや記事保存のリダイレクトなど管理画面でのアクションでページのリダイレクトがかかると出ます。このエラーが私の環境によるものと考えていましたが、アドバイスいただいた方から他にも事例があり、Drupal公式サイトに対策方法が掲載されている事を教えていただきました。

Drupal公式サイトのトピック

https://www.drupal.org/forum/support/installing-drupal/2023-01-06/drupal-10-redirects-to-external-urls-are-not-allowed-by-default(Opens in a new tab/window)

元の記事

https://www.drupal.org/project/drupal/issues/2612160#comment-11767977(Opens in a new tab/window)

8年前にDrupalコミュニティに参加しているドイツのエンジニアAndrej Galuf氏が書いたスニペットになります。

こちらに記載されているスニペットをsetting.phpに追加したところ、管理画面のアクションでリダイレクトした際に出ていたエラーが解決しました。スニペットは応急処置的なものですが、私の環境のように共有サーバーを使用している関係でApacheの DocumentRoot や RewriteBase 設定が出来ない場合重宝します。

setting.phpに追加するスニペット

アドバイスへの謝辞

当サイトを含め私が運営するサイトは私自身の学習的な意味合いが強く、記事のテーマや記事の書き方も解りにくく、極めて個人的な事例がメインなので、記事を読んでいただき内容を理解していただいた事や記事内容について適切なアドバイスをいただけるのはありがたいことと感じています。

技術的な内容を適切かつ簡潔な形でアドバイスをいただけるような方なので、私より知識や技術的なリテラシーの高い方ですがそのような方が私の稚拙な記事を読んでいただいていると考えると記事を書くモチベーションになります。

Thanks for technical advice.

Drupal公式サイトの事例と具体的なスニペットの記載について簡潔でわかりやすいアドバイスをいただいています。

ご親切でわかりやすいアドバイスありがとうございました。

S.Takeda

Civic Theme 1.10.0

2025年3月25日にCivic Theme 1.10.0がリリースされました。1.10.0のリリースにより1.9.0のサポートが完了になるので、Civic Theme 1.10.0にアップデートを行います。Drupal CMSがリリースされ今後の対応を進めるため1.9.0のリリースから短期間でのアップデートになります。

Drupalの記事

関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。

記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。

雑感

私自身が個人的で小規模なWEBサイトをDrupalとCivic Themeを使って構築していく中で気がついた事や感銘した事、不備として感じた事を記事にしています。実際の事例は別項で記事にしていますのでここでの記事は感想的なものとなっています。
  • Drupal記事まとめ
  • 雑感

Drupal記事

Drupalについて記事を書いています。このWEBサイトを構築していく上でのトピックになります。プログラミングやソースコードなどエンジニア的な記事ではなく、プログラミング経験がない個人がDrupalでパーソナルなWEBサイトを構築するという観点での記事になります。
  • Drupal記事まとめ

最新の記事

Drupalについて書いた最新の記事になります。

#D38 Private file system is not set.の解消

当サイトはXserverの共用サーバーにDrupalとCivic Themeをインストールして運営しています。共有サーバーの制限でルートディレクトリ周りは特殊な設定をして運営していますが問題なく稼働しています。インストール以降…
  • Drupalの記事
  • 環境構築

#D37 Drupal 10.5.0

Drupal Coreが10.4xから10.5xにアップデートされました。10.4系は2025年12月でサポートが終了しますので、当サイトも早速アップデートします。10.xから11.xへの移行をスムースに行えるようなアップデート内容になっています。
  • Civic Theme
  • Drupalの記事

#D36 Civic Theme 1.10.0

2025年3月25日にCivic Theme 1.10.0がリリースされました。1.10.0のリリースにより1.9.0のサポートが完了になるので、Civic Theme 1.10.0にアップデートを行います。
  • Civic Theme
  • Drupalの記事

#D34 Colour Generator Problem

Drupal10.4.xに更新以降、Civic Themeのカラージェネレーターが効かなくなりデフォルトの配色での公開となっていましたが修正パッチが配布されていたので試してみました。
  • Civic Theme
  • Drupalの記事

Life Styleの記事

Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。

Life Style記事

ライフスタイルの記事になります。Drupalに触れる目的でこのWEBサイトを立ち上げています。元はWord Pressで作成した記事をこちらのWEBサイトに再構築しています。Word Pressも学習目的で利用したのですが記事をしっかり作る事を目的としていたので、テーマに興味があればそれなりに楽しめると思います。
  • Life Style記事まとめ
  • 雑感
  • Drupalの記事