我正在重定向/example.php?var=value
到/index.htm
这样的:
rewrite /example.php?var=value / permanent;
但是,浏览器会像这样打印最终的 uri:
domain.com/?var=value
我怎样才能拥有如此干净的 uri?
domain.com
谢谢。
答案1
摘录自nginx 重写模块文档:
如果在替换参数行中指明了参数,则其余请求参数将附加到这些参数中。为了避免附加这些参数,请将问号作为最后一个字符:
rewrite ^/users/(.*)$ /show?user=$1? last;
答案2
在替换的末尾放置一个问题掩码:
location ~ \.php$ {
location ~ /example\.php$ {
if ($args ~ var=value) {
rewrite ^ /? permanent;
}
}
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_intercept_errors on;
error_page 404 /error/404.php;
}
答案3
我发现的最简单的方法是:
rewrite ^/example.php /? permanent;
谢谢大家。