我想拒绝直接访问所有php文件。所以我在.htaccess文件中使用下面的命令。它可以正常工作,禁用直接访问,但我可以在我的index.php中包含任何php文件。但是当来自index.php的所有ajax请求也被阻止时,问题就出现了。如何解锁我的ajax请求?
这是禁止的(正如预期的那样):
这是通过(如预期的那样):
这在index.php中已经过了(正如预期的那样):
include(other.php)
但这也会在index.php中返回Forbidden:
$.ajax({
method: "POST",
url: "other.php",
dataType: "json",
data: JSON.stringify({ field: field})
})
.done(function( msg ) {
console.log(msg);
})
.fail(function( jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
});
的.htaccess
<FilesMatch ".*\.php$">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</FilesMatch>
<Files index.php>
Order Allow,Deny
Allow from all
</Files>