No.4580, No.4579[2件]

🍕Re:4578◆これは、No.4579さんがご説明下さった通りです。.htaccessファイルに DirectoryIndex tegalog.cgi とだけ書いた場合は、index.html とか index.htm とか index.php とかが同階層にあっても(ファイル名を省略したアクセスでは) tegalog.cgi だけしか表示されません。この場合、その階層から tegalog.cgi を削除しても、(ファイル名を省略したアクセスでは)403 Forbidden エラーになるかファイル一覧が出るかするだけで、(たとえその階層にindex.htmlが存在していても)index.htmlが表示に使われることはありません。
一般的なサーバでは「 index.html があればそれを表示し、なくても index.htm があればそれを表示し、それもなくても index.cgi があればそれを表示し……」みたいな感じになっていますが、それは、
DirectoryIndex index.html index.htm index.cgi index.php
……という感じのデフォルト設定になっているためです。(順序はこうではないかも。他にもindex.shtmlとかもっと多数含まれているかもしれません。)
なのでもし、てがろぐ設置ディレクトリの .htaccess ファイルに、
DirectoryIndex tegalog.cgi index.html
……と2つのファイル名を列挙しておいた場合は、(ファイル名を省略したアクセス時には)「 tegalog.cgi があればそれを表示し、ない場合には、index.html があればそれを表示する」というような動作になります。
ファイルが探される順番は、DirectoryIndex に並べた順番です。左側から順番にファイルを探して、最初に見つかったファイルが表示されるわけです。どれも見つからなかったら、403 Forbidden エラー(またはファイル一覧)が表示されます。
したがって、てがろぐ設置ディレクトリの .htaccess ファイルに、以下の順序で書いた場合は、
DirectoryIndex index.html tegalog.cgi
ファイル名を省略したアクセス時には、もし index.html ファイルがあれば(たとえ同時に tegalog.cgiも存在していても)index.htmlの方が表示されます。
🍕Re:4579◆サポートをどうもありがとうございます!(╹◡╹)ノ
309日前(木 18:53:08) 回答/返信

にししさんではないですが試してみたのでご報告です
DirectoryIndexとはディレクトリにファイル指定無しのアクセスがあった場合に、どのファイルを表示するかを設定するものなので
てがろぐおすすめの.htaccessを置いたままだと「/」で終わるURLでアクセスしたときはtegalog.cgiが表示され、index.htmlを表示したい場合は「https://URL/index.html」というふうにindex.htmlまでURLに含めないとアクセスできません。
「https://URL/」でアクセスしたときにindex.htmlを表示させたい場合は.htaccessの「DirectoryIndex tegalog.cgi」という記述を削除してください。 309日前(木 17:51:53)