現在、3つのケースを除いてスクリプトへの直接アクセスを制限するために、次のものがあります。
RewriteEngine on
RewriteCond %{REQUEST_URI} !read_dir [NC]
RewriteCond %{REQUEST_URI} !get_ac_options [NC]
RewriteCond %{REQUEST_URI} !view_log [NC]
RewriteRule ^inc/php /cms_spider3?script_access_attempt [NC]
最初の 2 つの条件は機能します (つまり、read_dir.php と get_ac_options.php の両方にアクセスできます)が、3 番目のルールは無視されます。
つまり、アクセスする
/my/server/view_log.php
...常にリダイレクトされます。view_log.php と他の 2 つの唯一の違いは、他の 2 つが常に AJAX 経由でアクセスされるのに対し、view_log.php はブラウザーで直接アクセスされることです。これが違いを引き起こすとは想像できませんが、言及したいと思いました。
私は mod-rewrite の専門家ではないので、私が持っているもの全体をより適切に作成できる可能性があります。(何が機能するのかさえわかりません[NC]
。いくつかのサンプルコードから取っただけです。)