如何使一个PHP页面携带多个动作?

时间:2015-04-11 02:52:34

标签: php html .htaccess

所以,我有一个PHP页面。让我们称之为error.php。我希望能够使这个error.php页面处理多种类型的错误(400,401,404等)我知道如何设置我的.htaccess文件,我不知道如何要做的是让PHP页面以不同的方式响应。

我看过网页上的网址类似于error.php?action=404,这就是404动作。

对于我的例子,我只是传递错误的数字。例如......

<?php if ($varialbeFromTheURL === "404" ) {
?>
<div class="container">
    <h1>Uh oh... 404 :(</h1>
    <h2>Looks like that file is missi - blah blah blah</h2>
</div>
<?php else if ($variableFromTheURL === "400" ) {?>
<div class="container">
    <h1>Uh oh.... 400 :(</h1>
    <h2>Looks like blah blah blah</h2>
</div>
<?php /* And so on */ ?>

我如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

如果您使用的是网址中的变量,则需要使用$_GET,例如

<?php if ($_GET['action'] === "404") { ?>

有关详细信息,请参阅here

答案 1 :(得分:0)

使用GET方法

$ _GET方法将变量存储在url中,就像你提到的那样(error.php?action=404

<?
    switch($_GET['error']){
        case '404':
            echo "not found";
            break;
        case '418':
            echo "teapot found";
            break;
        ...
?>

然后使用url中的$ _GET变量将用户发送到上面的PHP页面。例如,如果页面名为error.php,要显示404错误,您可以将用户定向到error.php?error=404

答案 2 :(得分:0)

$_SERVER["REDIRECT_STATUS"]是一种无需URL参数即可解决问题的方法。

您可以重定向所需的所有内容,并在PHP中处理HTTP状态代码。