将内部php文件重定向到403错误页

将内部php文件重定向到403错误页,php,ajax,.htaccess,Php,Ajax,.htaccess,在我的网页中,我使用了几个php文件,并使用ajax调用它们。就像在页面abc.html中一样,有一个对example.php的ajax调用,它通过post获取一些输入,从中计算出一些内容,并向ajax success函数返回一个值。我想实现一种方法,如果用户想通过example.php直接访问http://somesite.com/example.php它应该将其重定向到其他页面,如错误页面或索引页面,而不必处理对原始ajax调用的响应。进入PHP文件并修改为如下内容: if (!empty(

在我的网页中,我使用了几个php文件,并使用ajax调用它们。就像在页面
abc.html
中一样,有一个对
example.php
的ajax调用,它通过post获取一些输入,从中计算出一些内容,并向
ajax success
函数返回一个值。我想实现一种方法,如果用户想通过
example.php直接访问
http://somesite.com/example.php
它应该将其重定向到其他页面,如错误页面或索引页面,而不必处理对原始ajax调用的响应。

进入PHP文件并修改为如下内容:

if (!empty($_POST['your_post_variable'])){ 
            header("Location: index.php"); // or whatever page you like
            exit();
        }
        else{ /* your code for when $_POST is submitted via ajax request */ 

        }
如果任何人直接访问该文件,他们的$u帖子将是空的,并且他们将被重定向到该位置

你应该使用
!空的
而不是设置的
isset
为$\u POST返回true,因为$\u POST数组是超全局数组,并且始终存在(设置)

更好的方法是使用
$\u服务器['REQUEST\u method']='POST'


最好。

如果我直接调用,$\u服务器['REQUEST\u METHOD']将返回什么?REQUEST\u METHOD元变量必须设置为脚本处理请求时应使用的方法,如第4.3节所述。如果正在使用POST或GET,它将返回。我会坚持使用!空的。这是你最好的选择。