【问题标题】:Mod_rewrite: How to see the variables content?mod_rewrite:如何查看变量内容?
【发布时间】:2012-12-14 21:49:36
【问题描述】:

有没有办法使用 javascript 或 PHP 显示 mod_rewrite 变量的内容,例如 THE_REQUEST 或 REQUEST_FILENAME?

【问题讨论】:

    标签: php javascript html apache mod-rewrite


    【解决方案1】:

    是的,这可以在 PHP 中使用 $_SERVER variable 来完成 如果 mod_rewrite 变量已被导出到 Apache 环境变量中。

    为了导出 Apache mod_rewrite 变量以便 PHP 通过 Apache 环境变量访问它,请确保 Apache VirtualHost 包含以下配置:

    RewriteEngine On
    RewriteRule .* - [E=API_VERSION:%{API_VERSION},NE]
    RewriteRule .* - [E=THE_REQUEST:%{THE_REQUEST},NE]
    RewriteRule .* - [E=REQUEST_URI:%{REQUEST_URI},NE]
    RewriteRule .* - [E=REQUEST_FILENAME:%{REQUEST_FILENAME},NE]
    RewriteRule .* - [E=IS_SUBREQ:%{IS_SUBREQ},NE]
    RewriteRule .* - [E=HTTPS:%{HTTPS},NE]
    

    一旦这些变量被导出,PHP 就可以用来渲染 mod_rewrite THE_REQUEST 和 REQUEST_FILENAME 变量,或任何其他 Apache 环境变量。

    <?php
    echo $_SERVER['THE_REQUEST'];
    echo $_SERVER['REQUEST_FILENAME'];
    ?>
    

    【讨论】:

    • PHP 变量 $_SERVER 不包含 mod_rewrite 变量。
    • @user1420069 PHP 无法直接访问这些变量,但如果它们在 vhost 中导出(并且 Apache 在 vhost 修改后已重新加载),那么它们是可以访问的。答案已更新以反映这一点。
    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 2018-01-25
    • 1970-01-01
    • 2015-05-29
    • 2010-09-11
    • 2020-04-13
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多