我将/example.php?var=valueredirect到/index.htm如下所示:
rewrite /example.php?var=value / permanent;
但是,浏览器在这里打印最终的uri:
domain.com/?var=value
我怎样才能有一个干净的乌里呢?
domain.com
谢谢。
摘自nginx重写模块文档 :
如果在replace参数行中被指示,则其余的请求参数被附加到它们。 为避免添加它们,请将问号放在最后一个字符处:
rewrite ^/users/(.*)$ /show?user=$1? last;
在replace结束时放置问题掩码:
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; }
我find的最简单的方法是这样的:
rewrite ^/example.php /? permanent;
感谢所有。