私はこれで何時間も働いてきましたが、それに関する情報を見つけることができません。そうですね、情報はありますが、組み合わせて機能しない個別のソリューションしか見つけることができません。
私はこれから始めようとしています:
RewriteCond %{REQUEST_URI} \.(php)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.example.com/$1/ [L,R=301]
コードが機能し、末尾のスラッシュが表示されます。しかし、存在しないファイル名を入力すると、301 が返されます。例:
http://www.example.com/thisfiledoesnotexist.php
最初のヘッダー応答は 301 であり、次の値を返そうとするため、論理的です。
http://www.example.com/thisfiledoesnotexist.php/
そして 404 を返しますが、この方法では 404 を返すのに 2 つのリクエストが必要です。
多くの人が以前にこの問題を発見したと思います。これは一般的な問題だと思いますが、解決策は見つかりませんでした。