Please Sign In or Register

info ドメインで 403 Forbidden と表示される

インストールスクリプトの実行のために Drupal サイトの URL にアクセスすると 403 Forbidden というエラーが表示されるが、install.php までの URL を指定してアクセスすることでインストールは完了できる。
が、インストール完了後も、インストールした Drupal サイトやサイト内のページへアクセスすると、ページが切り替わるたびに常に 403 Forbidden となり、その都度 URL を http://example.com/index.php や http://example.com/index.php?q=xxxxx のように index.php を含めた URL に修正してアクセスしなければページが表示されない。
※通常の URL は http://example.com や http://example.com/?q=xxxxx という形式です。

.htaccess ファイルを変更および追加することで解決。


このトラブルに関しては、サーバ環境(XREA+)も関係していると思われますが、原因は、.htaccess ファイルの <FilesMatch> ~ </FilesMatch> 部分で、info ファイルへのアクセスを制限するよう設定してあることが影響しているようです。
※ info ファイルは、Drupal 5.x から導入された、モジュールのバージョン情報などを管理するためのファイルで、基本的には modules ファイル以下に格納されています。

この問題を解決するために、.htaccess ファイルの赤字の部分(info|)を削除して、info ファイルへのアクセス制限を解除します。

<FilesMatch "(\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)|code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
  Order allow,deny
</FilesMatch>

また、このままでは info ファイルにブラウザからアクセスできる状態になってしまっているので、modules ディレクトリ内に以下の内容を記述した新しい .htaccess ファイルを作成し、それぞれをサーバにアップロードします。

<Files ~ "\.info$">
  Order allow,deny
</Files>

拡張モジュールのアップロードディレクトリを modules ディレクトリとは別のディレクトリとする場合は、そのフォルダにも同様の .htaccess ファイルをアップロードする必要があります。
拡張モジュールのアップロードディレクトリについての詳細は、拡張モジュールのインストール ページに記載しています。

改定履歴

[ 2007-02-26 ]
Drupal 5.x からは、拡張モジュールをアップロードできるディレクトリの場所が複数から選択できるようになりましたので、そのディレクトリにも新しい .htaccess ファイルを追加するよう、内容を追記しました。

トラックバック

トラックバックは承認後に表示されます。

URLから "-nospam" を削除してトラックバックを送信してください。