この名前のディレクトリがある場合、apache はその名前のファイルを見つけることができません。
ディレクトリのリストをオフにするには、Options
ディレクティブを使用します
Options -Indexes
これにより、ディレクトリの内容が一覧表示されなくなります。ただし、エラー メッセージは 404 ページではなく、403 Forbidden です。
さらに、インデックスファイルのルックアップを無効にする必要があります。
DirectoryIndex disabled
それ以外の場合、Apache は index.html、index.php、... ファイルが存在する場合はそれを表示します。
ディレクトリの末尾にスラッシュが追加されないようにするには、次を使用します。
DirectorySlash off
同じ名前で追加されたファイルに書き換えるには、.php
これを使用できますRewriteRule
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.+)/ $1.php
これは、要求されたパスがディレクトリであるかどうかを調べ、そうである場合は、同じ名前と.php
拡張子を持つ通常のファイルもチェックします。両方が true の場合、PHP ファイルに書き換えます。
単なる書き換えではなくリダイレクトが必要な場合は、R
フラグを RewriteRule に追加する必要があります
RewriteRule (.+)/ $1.php [R,L]
redirect.php
の代わりに書き換える必要がある場合はproduct.php
、使用します
RewriteRule (.+)/ redirect.php
すべてをまとめると、これは単純化された
DirectorySlash off
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ redirect.php [L]