2

こんにちは、ルートに 2 つのインデックス ファイルがあるプロジェクトに取り組んでいます。1 つは index.php で、もう 1 つは index.html です。デフォルトのページをindex.phpに設定したいのですが、それが利用できない場合は、index.htmlで機能するはずです。私はインターネットでたくさん検索して、これに対する次の解決策を見つけました。

DirectoryIndex index.php index.html

私は自分のサイトでこのコードを使用しています:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html default.htm
</Directory>

別の方法も試しました:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html
          Options Indexes FollowSymLinks MultiViews
          AllowOverride None
          DirectoryIndex index.php index.html
          Order allow,deny
          allow from all
</Directory>

しかし、どれも機能せず、常に index.php がデフォルトになりますが、それが利用できない場合、index.html は読み込まれません。

そして、最初に index.html を記述してから index.php を記述すると、index.html が読み込まれますが、index.html が利用できない場合は index.php は読み込まれません。

要するに、設定が機能していないと言えます。

4

1 に答える 1

1

複数のファイル名を指定できます。Web サーバーは、一致するファイルが見つかるまで各ファイルを検索します。このディレクティブの例を考えてみましょう:

これをルートの htaccess ファイルに書き込みます。

DirectoryIndex index.php index.html

このディレクティブでは、訪問者がディレクトリ名を要求すると、Web サーバーは最初に index.php ファイルを探します。index.php ファイルが見つからない場合は、index.html ファイルを検索し、一致するファイルが見つかるか、検索するファイルがなくなるまで検索を繰り返します。

または、この方法を試してください

# Example A: Set index.html as an index page, then add index.php to that list as well.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex index.php
</Directory>

# Example B: This is identical to example A, except it's done with a single directive.
<Directory "/foo">
    DirectoryIndex index.html index.php
</Directory>

# Example C: To replace the list, you must explicitly reset it first:
# In this example, only index.php will remain as an index resource.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex disabled
    DirectoryIndex index.php
</Directory>

ソース:

于 2015-12-11T05:58:56.907 に答える