現在、.htaccess で次のコードを使用しています。A.php、B.php、/A、および /B があるため、(A|B) があるため、/A の場合に URL を A.php にリダイレクトする必要があります。と呼ばれます。
RewriteEngine On
DirectorySlash Off
RewriteCond %{REQUEST_FILENAME} (A|B)/$
RewriteRule ^(.*)/$ $1
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
ただし、
DirectorySlash Off
末尾にスラッシュがないと、ルート ディレクトリにアクセスできません。たとえば、ディレクトリ /site の下にファイルがある場合、/site/、/site/index、および /site/index.php にアクセスできますが、403 エラーが発生するため、/site を使用してアクセスすることはできません。DirectorySlash Off を使用すると /site.
ルート/サイト以外のすべてのファイル/ディレクトリに適用されるルールを作成する方法はありますか? そうでない場合、.php ファイルが含まれる URL の末尾のスラッシュを削除する方法はありますか?
DirectorySlash がオンの場合、/site/A?id=824 を試すと、URL が /site/A/?id=824 になるため、これを尋ねています。