私の.htaccessファイルには書き換えがあり、example.com/login.php
の代わりにexample.com/login
が表示されます。ここで.htaccessはファイル名にスラッシュを付けたときに500内部サーバーエラーを返します
は、そのファイルに書かれているものです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
それは一つのことを除いて完璧に動作します:私は、APIとして機能しますapi.php
というファイルを作成しています。 api
はPHPファイルではなく、とexample.com/api/auth
などに行きたいです。
問題は、example.com/api/logout
(またはexample.com/login/foo
)のようなファイルにアクセスするたびに、常に500内部サーバーエラーが発生します。 example.com/api.php/logout
に行くと、404エラーが発生します。
500 Internal Server Errorのエラーファイルを確認したところ、すべての条件が満たされるまでmod_rewriteが実行されるため、Request exceeded the limit of 10 internal redirects due to probable configuration error
と表示されます。
これを修正するために書き換えを変更するにはどうすればよいですか?