For non-Japanese speakers

All the articles and content on this website are written in Japanese.

If you would like to read them in a different language, please use the translation function on your browser.You may not be able to understand the finer points of the text, but you should be able to get the general idea.

リダイレクトの再考

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

最新の記事

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

Drupal 11.3.10 > 11.3.11にアップデートしましたが、「セキュリティの問題」のメッセージが表示されたので、初めてcomposer auditを使いました。原因は、Drupal 11.3.10のセキュリティアップデート(重要)に付随するもので、アップデートを行う事で解消します。
  • Drupalの記事
  • 環境構築
今回サーバー移転でDrupalを10.6.xから11.3.xにアップデートしました。共有サーバーのWordPressのサイトにFatal errorが出たので、エラーの解決を行いました。DrupalとWordPressの開発思想の違いが見えるエラーだったので記事にまとめました。
  • Drupalの記事
  • WordPress
Xserverの環境が整い、Drupal 11.xの動作条件であるPHP 8.3.x、MariaDB 10.11.x、Drush最新版13.7.xが整いましたのでDrupal 10.6.8からDrupal 11.3.9にアップデートを行います。今回初めてDrupal…
  • Drupalの記事
  • 環境構築
Xserverビジネスの新規サーバーのDBがMariaDB 10.11.xに変わり、サーバー移転を行えば、Drupal 11.xにアップデート可能になりました。今回サーバー移転を行い、Drupal 10.x > Drupal 11.xにアップデートしました…
  • Drupalの記事
  • 環境構築

Life Styleの記事

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

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