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

时间:2013-11-18 19:49:14

标签: php ajax .htaccess

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

1 个答案:

答案 0 :(得分:2)

进入你的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 */ 

        }

如果有人直接使用该文件,他们的$ _POST将为空,并且会被重定向到该位置。

您应该使用!empty代替issetisset对于$ _POST返回true,因为$ _POST数组是超全局的并且始终存在(设置)。

更好的方法也是使用$_SERVER['REQUEST_METHOD'] == 'POST'

一切顺利。