【问题标题】:Redirect 301 URL using Nginx server使用 Nginx 服务器重定向 301 URL
【发布时间】:2016-11-21 00:19:21
【问题描述】:

如何重定向 301 网址

来自STRING?page=NBR

STRING/NBR/

在 NGINX 服务器中。

【问题讨论】:

  • 请附上您的信息。
  • 是的,但是我可以在 conf 中添加什么,比如这段代码 # nginx configuration location / { rewrite ^/(.*)/$ /$1 redirect; }

标签: redirect nginx url-rewriting


【解决方案1】:

试试看。我认为这些想法会对您有所帮助。

location = STRING {    
    if ($arg_page) { return 301 STRING/$arg_page/; }
}

location = STRING {    
    if ($arg_page) { rewrite STRING STRING/$arg_page/ permanent; }
}

$arg_name - 请求行中的参数名称

作为随机字符串的示例添加:

server {    
    if ($arg_page) { return 301 $uri/$arg_page/; }
}

$uri - 请求中的当前 URI,标准化。 $uri 的值可能会在请求处理期间发生变化,例如进行内部重定向或使用索引文件时。

return ... 作为一种特殊情况,可以将重定向 URL 指定为此服务器本地的 URI,在这种情况下,完整的重定向 URL 根据请求方案($scheme ) 以及 server_name_in_redirect 和 port_in_redirect 指令。

或者:

server {    
    if ($arg_page) { return 301 $scheme://$server_name$uri/$arg_page/; }
}

$scheme - 请求方案,“http”或“https”

$server_name - 接受请求的服务器名称

if ($arg_page) - 如果变量的值为空字符串或“0”,则为 false

【讨论】:

  • 但是我的 STRING 是随机字符串或 url 的一部分,如何用任何随机字符串替换 STRING
  • 方法有很多。例如,location / {} 匹配您的所有 URL。或者在所有位置使用if。并对字符串使用正则表达式。请包括您的配置。
  • 尝试第三个例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 2020-10-29
  • 2012-05-27
  • 2012-05-29
  • 2016-10-17
  • 2016-08-28
相关资源
最近更新 更多