Nginx 301永久重定向以支持语言

时间:2019-05-27 04:21:01

标签: nginx redirect http-status-code-301

我现在正在为我的网站启用语言支持。我将语言作为URL的一部分。例如:domain.com/zh_CN/page我需要为现有搜索引擎索引设置301重定向。

以下内容在Nginx中可以从 domain.com/blog 重定向到 domain.com/en/blog

ErrorException (E_USER_DEPRECATED)
assureEndpoint is being deprecated, please try not to use this in new code.

我不明白从domain.com/blog/read/#转到 domain.com/en/blog/read /#所需的重定向(其中#是postgres数据库表)

我花了很多时间寻找,搜索和阅读文档以自己找到答案。我不理解。

1 个答案:

答案 0 :(得分:1)

要为现有请求的URI加上/en前缀,您可以使用:

return 301 /en$request_uri;

上面的代码将在现有请求之前添加三个字符,还包括可能出现的所有参数。

要匹配任何以/blog开头的URI,请使用location /blog { ... }。要匹配以/blog/read/开头的任何URI,请使用location /blog/read/ { ... }

Nginx根据set of rules选择一个位置来处理请求。因此,您将需要考虑配置中存在的其他location块。