目前我有以下限制对脚本的直接访问,除了三种情况:
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]
前两个条件有效(也就是说,我可以访问 read_dir.php 和 get_ac_options.php),但第三个规则被忽略。
也就是说,访问
/my/server/view_log.php
...总是导致重定向。view_log.php 和其他两个的唯一区别是其他两个总是通过 AJAX 访问,而 view_log.php 是直接在浏览器中访问的。我无法想象这会导致差异,但我想我会提到它。
我不是 mod-rewrite 方面的专家,所以我的全部内容可能会写得更好。(我什至不确定是什么[NC]
- 我只是从一些示例代码中保留了它。)