【发布时间】:2019-06-05 07:37:05
【问题描述】:
我有
- 许多页面被搜索引擎索引,带有蹩脚的 GET 参数,例如
_escaped_fragment_(有关转义片段的更多信息,请参阅 Yandex man page) -
nginx作为许多不同前端应用程序前面的反向代理
所以我只需要为所有这些页面获取 301 重定向,这些页面带有一些 GET 参数到相同的页面,但没有任何 get 参数。例如
example.com/some/long/path?_escaped_fragment_=
应该被301重定向到
example.com/some/long/path
我可以通过将这个逻辑添加到每个前端应用程序来做到这一点,或者我可以在 nginx 配置中做到这一点。我更喜欢使用第二种变体。
可能的解决方案可以包括
- 使用http rewrite module
- 使用if in rewrite检查GET-params
- 使用map module 定义来自
$request_uri的不带args 的请求uri 路径
【问题讨论】:
标签: nginx redirect url-rewriting