サイトの URL を次のように書き換えたい
www.example.com/loginはwww.example.com/login.phpを指します
www.example.com/login/もwww.example.com/login.phpを指しています
サイトの奥深くにあるページは、上記のルールに従う必要があります。すなわち
www.example.com/inner/inner2/something およびwww.example.com/inner/inner2/something/も指す必要があります
www.example.com/inner/inner2/inner3/something.php
www.example.com/login/anything、存在しない場合は 404 を表示する必要があります(私の場合はループを引き起こしています)
私が書いたルールは次のとおりです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])$ $1.php [L]
RewriteRule ^(.+)/$ $1.php [L]
上記の 3 つのケースでは問題なく動作しますが、4 つ目のケースではループが発生しています。
また、拡張子が .php のファイルが要求された場合は、404 を表示したいと考えています。
また、REQUEST_FILENAME の代わりに REQUEST_URI を使用すると、上記のルールの動作が変わります。2つの違いは何ですか?
ティア