0

Web サイトのルート フォルダーに次の htaccess ファイルがあります。

# Deny access to everything by default
Order Deny,Allow
deny from all

# Allow access to html files
<Files *.html>
    allow from all
</Files>

これを行うのは、html ファイル以外のすべてへのアクセスを防ぐためです。ただし、index.html の自動読み込みも妨げているようです (たとえば、http: //www.website.com への移動に失敗します)。しかし、具体的に index.html (例: http://www.website.com/index.html ) を要求すると、アクセスできます。

html ファイル以外のすべてへのアクセスを拒否し、index.html を自動的にロードするにはどうすればよいですか?

4

2 に答える 2

1

.htaccess ファイルで DirectoryIndex ディレクティブを使用する必要があると思います。

DirectoryIndex index.html
于 2013-07-13T07:34:31.260 に答える
0

FilesMatch ルールを追加して、これを機能させることができました。

# Deny access to everything by default
Order Deny,Allow
deny from all

# Enable the redirect to index.html
<FilesMatch ^$>
    allow from all
</FilesMatch>

# Allow access to html files
<Files *.html>
    allow from all
</Files>

これにより、基本的に、空のリクエスト パスに一致するものはすべて許可されます。ここでの問題は、自動インデックス リダイレクトが適用される前に、受信リクエストに許可/拒否ルールが適用されていたことだと思います。つまり、基本的にhttp://www.website.com/に対する要求が入ってきて、ホワイトリストに登録されたファイル タイプのいずれとも一致せず、すべてのステートメントからの一括拒否によって拒否されます。どうやら、これはその時点でリクエストを短絡させていたようです-許可されていたはずのindex.htmlのリクエストに自動的にリダイレクトされる前に。

于 2013-07-14T08:10:16.797 に答える