Nginx:多个Url重定向

时间:2014-01-29 12:16:06

标签: regex nginx

我是Nginx的新手......需要设置一些重定向

我们正在推出最新的代码,以及重定向所有网站实例的内容

例如: -

https://woi.com/movies
https://woi.com/movies/Fear
https://woi.com/videos
https://woi.com/videos/Captain

https://woi.tv/#!/movies
https://woi.tv/#!/movies/Fear
https://woi.tv/#!/videos
https://woi.tv/#!/videos/Captain

我在Nginx.conf文件中进行了更改: -

Http
{
...
location /movies {
    rewrite ^.* https://$woi.tv/movies permanent;
    }

    location /movies/ {
    rewrite ^.* https://$woi.tv/movies/ permanent;
   }

location /videos {
    rewrite ^.* https://$woi.tv/videos permanent;
    }

    location /videos/ {
    rewrite ^.* https://$woi.tv/videos/ permanent;
   }
}

我不知道我是对的。但上述情况无效。

请帮帮我。

1 个答案:

答案 0 :(得分:2)

如果你想无条件地重定向,你可以尝试这样的事情,不确定#是否可以写入重定向,但你可以试试。

server {
  listen 443 ssl;
  server_name example.com;
  root /path/to/root;
  index index.php; # or whatever index
  # ssl settings
  location = / {
    # the non redirecting settings
    try_files $uri $uri/;
  }
  location / {
    # the remaining of the site, we should redirect here
    return 301 $scheme://$http_host#!$request_uri;
  }
}

修改

第二个想法我认为这会破坏资产,所以我认为重定向应该是一个后退

location / {
  try_files $uri @redirect;
}
location @redirect {
  return 301 $scheme://$http_host#!$request_uri;
}