0

例如,如果我想查看 php 中某个变量的值,我会这样做:

$foo = 'This is a variable foo';

var_dump($foo);  // string(22) "This is a variable foo"
echo $foo;       // This is a variable foo
print_r $foo;    // This is a variable foo

但是当我写一些mod_rewrite规则时,现在我只能猜测 RewriteRule 的值是什么以及重写后它会变成什么($0)

<Directory /public>
    DirectoryIndex index.php
</Directory>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]   // what is %{REQUEST_FILENAME}
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ $0 [NC, L]             // what is ^(.+)$, and what is $0?

有什么方法可以打印或以某种方式查看每行之后我得到什么值?例如,我想看看什么是进来的RewriteRule ^(.+)$ $0 [NC, L],什么是进来的,^(.+)$然后是什么$0

4

1 回答 1

1

不,没有你问的方式。

错误日志是一个很好的帮助。将 LogLevel 设置为调试,如下所示: LogLevel debughttpd.conf文件中。

如果使用 Firefox,您可以尝试livehttpheaders,例如,查看标头和其他相关信息。其他浏览器也有等效的扩展。

不用说,一个 php 脚本在映射地址处用echo var_dump($_SERVER);或类似语句,将显示结果的完整信息。

于 2012-12-18T06:37:47.460 回答