【PHP】404错误页面获取源地址参数的一点不同



    机器上同时架着Apache和IIS,都配置使用404方法来实现WordPress永久链接,之前按IIS来设置的404.php代码在Apache下无效,于是查了一下。

    检查的方法很简单,在404.php页面顶部加入以下代码即可。



    <?php print_r($_SERVER); die(); ?>

    访问一个不存在的页面http://localhost/not-exist-page.html

    IIS下与源地址相关的$_SERVER参数为

    // IIS
    Array
    (
        [QUERY_STRING] => 404;http://localhost/not-exist-page.html
        [REQUEST_URI] => /404.php?404;http://localhost/not-exist-page.html
        [URL] => /404.php?404;http://localhost/not-exist-page.html
    )

    Apache下与源地址相关的$_SERVER参数为

    // Apache
    Array
    (
        [QUERY_STRING] => 
        [REQUEST_URI] => /not-exist-page.html
        [REDIRECT_URL] => /not-exist-page.html
    )

    发现问题出在404页面跳转后源地址参数在IIS和Apache服务器下PHP给出的地方是不一样的。看上述测试结果便知怎么用了,不多赘述。

    修改下原来的代码,见《WordPress永久链接在IIS下的实现》(已更新)。

    搞定! :-)



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【PHP】404错误页面获取源地址参数的一点不同
    标签:
    分享:

还没有人抢沙发呢~

无觅相关文章插件,快速提升流量