【发布时间】:2013-12-04 16:21:13
【问题描述】:
我正在为一个拥有使用 URL 重写模块的网站的人做一份工作,并且参数是这样传递的: www.site.com/val1/val2/val3 我用 getPararm(n) 函数得到它们。
我必须实施信用卡支付系统,而这项服务,一旦支付完成, 以这种方式将答案发回我选择的页面: www.yourSite.com?a=val1&b=val2
我选择了那个网站的一个页面,所以我得到了这样的答案: www.site.com/confirmed/?a=val1&b=val2
通过一些字符串操作,我将能够获取最后一个“/”之后的所有字符串,并将它们分隔为 2 个单独的字符串 $a=val 和 $b=val2,但是因为“?”之后它没有读取任何内容。 我该如何解决这个问题?
【问题讨论】:
-
不可能说到底是什么问题。任何合理的 mod_rewrite 设置都将使用
[QSA],因此 URL/foo?bar=baz被重写为my.php?url=foo&bar=baz之类的东西。然后在 PHP 中你只需使用$_GET['bar']. -
重写有什么作用?如果它没有剥离查询字符串,您应该能够正常获取变量。
-
只是删除?从您的字符串中并使用您的字符串操作来获取您的参数:您可以像这样使用 str_replace 删除它 str_replace('?', '', 'www.site.com/confirmed/?a=val1&b=val2')
标签: php url-rewriting parameter-passing