为啥 ?XDEBUG_PROFILE=true 被 mod_rewrite 忽略?
Posted
技术标签:
【中文标题】为啥 ?XDEBUG_PROFILE=true 被 mod_rewrite 忽略?【英文标题】:Why is ?XDEBUG_PROFILE=true being ignored by mod_rewrite?为什么 ?XDEBUG_PROFILE=true 被 mod_rewrite 忽略? 【发布时间】:2011-08-17 14:08:01 【问题描述】:我已将 xdebug 安装到我的 php 中,并希望在 url 字符串中使用 ?XDEBUG_PROFILE=true 来执行分析器。但是,当我尝试使用具有带有查询字符串的 mod_rewrite RewriteRule 的 url 执行此操作时,它不会配置文件。示例:
RewriteRule ^page/(.*)/last$ page.php?pageid=$1 [L]
实现此功能的最佳方法是什么?
【问题讨论】:
【参考方案1】:您需要添加[QSA]
标志以将任何查询字符串附加到重写。
RewriteRule ^page/(.*)/last$ page.php?pageid=$1 [L,QSA]
只允许XDEBUG_PROFILE
:
RewriteCond %QUERY_STRING ^XDEBUG_PROFILE
RewriteRule ^page/(.*)/last$ page.php?pageid=$1&XDEBUG_PROFILE=1 [L]
# Other requests go through as normal
RewriteRule ^page/(.*)/last$ page.php?pageid=$1 [L]
【讨论】:
谢谢,但我不太喜欢它的声音。这是否意味着任何人都可以将任何查询字符串传递给我的脚本?从而向黑客开放了 GET 变量。 @David 然后试试我刚刚添加的内容。不允许任何查询参数,但XDEBUG_PROFILE
是。在任何情况下,您都可以在完成分析后删除 QSA
,因为无论如何您都应该在生产中禁用 xdebug。
@david:没有什么能阻止某人在他们的地址栏中输入example.com/yourscript?hahah=im_in_url_url&adding=stuffz
。以上是关于为啥 ?XDEBUG_PROFILE=true 被 mod_rewrite 忽略?的主要内容,如果未能解决你的问题,请参考以下文章
php switch 为啥 bool TRUE 被判断为了 int 1,NULL 成了 string '',而 bool FALSE 正常?
为啥 destroyOnClose=true 在 React 中不起作用
这段代码里的Object类型为啥能被强制转换为Comparable接口类型呢?