【发布时间】:2014-07-28 03:06:55
【问题描述】:
在我的 conf 文件中,我有这个规则:
rewrite ^/signup /register.php;
rewrite ^/signup/([0-9A-Z]+)$ /register.php?ref=$1;
访问 site.com/signup 时一切正常 现在在我的 php 文件中,我有
if(isset($_GET['ref'])) {
$ref = $mysqli->real_escape_string($_GET['ref']);
}
当我尝试从这个 url site.com/signup/abc123 获取变量 ref 时,什么也没有显示! 重写规则中有什么东西吗?
【问题讨论】:
-
[0-9A-Z] 仅大写且匹配失败。更改规则
rewrite ^/signup/([0-9A-Za-z]+)$ /register.php?ref=$1; -
不工作,不显示参考
-
添加规则我的conf,我请求
http://homedomain/signup/abc123得到回复Array ( [ref] => abc123 ) -
我明白了,只有第一条规则有效。
-
更改规则
rewrite ^/signup[/]*([0-9A-Za-z]*)$ /register.php?ref=$1;并删除第一条规则rewrite ^/signup /register.php;