0

次の行はどういう意味ですか?

[Mon Feb 21 20:52:13 2011] [error] [client 66.249.71.150] 
 Directory index forbidden by rule: /var/www/vhosts/website.com/httpdocs/

ルートにindex.phpがありません。インデックスがhome.phpであるため、Webサイトのルートファイルは.htaccessルールで定義されています。

私の.htaccessファイルは次のようになります。

DirectoryIndex index.php /index.php
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^$ en/home [R=301,L]
...

どうもありがとう!

update1:

私は仮想ホスト構成ファイルにアクセスできません。共有ホスティングを使用しているので、/httpdocs/にある.htaccesだけがあります。私は何をすべきか?DirectoryIndexを無効にする必要があります(とにかくそれを使用せず、サイトは正常に機能します!)ディレクトリインデックスがあるかどうかを確認するにはどうすればよいですか?

update2:

  • ブラウザでテストすると、すべてが正常に、高速に、うまく機能しているように見えます。
  • ただし、ログには次のように表示されます。

[2011年2月27日日曜日02:18:56][エラー][クライアント66.249.71.81]ファイルが存在しません:/var/www/vhosts/website.org/httpdocs/index

このページの上部にある最初のエラーとは異なり、これは通常の404のようです(私の404エラードキュメントは私のホームページなので、エラーページにはホームが表示されます)

「website.org」と入力すると、htaccessルールはデフォルトページのwebsite.org/en/homeにリダイレクトされ、「websie.org/index」と入力すると、website.org / en/homeにリダイレクトされます。すべて正常に動作しているように見えますが、2つのエラーが「ルールによって禁止されているディレクトリインデックス...」の意味がわかりません。

手がかり?ありがとう!

4

2 に答える 2

1

編集2:わかりました...最初はこの質問を完全に読み違えたと思います。index.phpディレクトリにファイルがないと言っていますか?もしそうなら、DirectoryIndex index.php /index.php正しく見えません。たぶん、それを次のように変更してみてください:

DirectoryIndex home.php

問題を正しく理解していますか? ディレクトリのデフォルト ページを表示しようとしていますね。


デフォルトでは、一部の http.conf セットアップには次のルールがあります。

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

仮想ホストをセットアップするときはいつでも、このルールを次のように変更することがよくあります。

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

あなたの場合の重要な部分は、最後の 2 つの部分OrderAllow.

編集 1:実際、このエラーをもう少し調べたところ、これは権限の問題でさえある可能性があります。アクセスしようとしているディレクトリへの読み取りアクセス権が Apache にあることを再確認できますか?

于 2011-02-22T02:11:17.617 に答える
1

エントリを確認し、サイトの仮想ホスト DocumentRoot がそこにリストされていることを確認してください。そうでない場合、apache はそこにアクセスできません。

于 2011-02-22T02:10:42.533 に答える