在 NGINX 中执行 301 重定向时跳过参数

Posted

技术标签:

【中文标题】在 NGINX 中执行 301 重定向时跳过参数【英文标题】:Skip an argument when doing a 301 redirect in NGINX 【发布时间】:2020-10-14 12:37:22 【问题描述】:

第一次发帖。 因此,我使用此代码将特定页面从一个域重定向到另一个域。

if ( $request_filename ~ / ) rewrite ^ https://example.net permanent;

是否可以选择跳过该代码中包括“?d=”在内的任何内容? 我不希望重定向中包含 ?d= 之后的任何页面。

【问题讨论】:

【参考方案1】:

如果重写后的 URL 以 ? 结尾,rewrite 将不会复制任何原始参数。

例如:

rewrite ^ https://example.net/? permanent;

详情请见this document。


或者,使用更简单的return 表达式:

return 301 https://example.net/;

【讨论】:

以上是关于在 NGINX 中执行 301 重定向时跳过参数的主要内容,如果未能解决你的问题,请参考以下文章

nginx 301跳转,怎么把refere带过去

nginx为啥返回301重定向

nginx使用301重定向快速替换新域名

nginx怎么根据url前缀实现301重定向?

301重定向时nginx保留端口号

ngin配置301重定向设置方法和nginx子目录301重定向