URL の末尾に .php 拡張子を使用して、ユーザーが自分のページに直接アクセスするのをブロックする書き換えルール (mod_rewrite) が必要ですが、自分の Web サイト フォルダーに自分の php ファイル拡張子を保持したいです。もう1つの問題は、サーバーが拡張URLリクエストを受け入れず、ユーザーをそれぞれの.phpページに連れて行くことです。次の書き換えコードがあります。
RewriteEngine On
RewriteRule \.php$ - [R=404]
RewriteRule ^(.*)$ $1.php
私が望んでいたように、最初のルールは 404 エラーを与えています。しかし、2 番目のルールは、それが単独である場合にのみ機能し、他のルールはありません。上記のブロックでは、拡張子のない URL を入力すると、サーバーがリクエストを「リダイレクト」して .php 拡張子を追加していると思いますが、最初のルールはユーザー リクエストのように動作し、404 エラーを返し、2 番目のルールを作成します。思うように働かないこと。
リクエストがWebサイトユーザーからのものである場合にのみ最初のルールを適用し、書き換えエンジンからのものである場合は無視するようにサーバーに指示するには、何らかの書き換え条件が必要だと思います。出来ますか?