Nginx配置添加www忽略请求uri

时间:2014-01-18 08:31:53

标签: linux http redirect nginx

以下是我在nginx.conf中使用的配置,用于重写所有非www.example.com请求以向其添加www。

server {
    listen       80 default_server;
    server_name  example.co.uk;
    rewrite ^(.*) http://www.example.co.uk$1 permanent;
}

server {
  listen 80;
  server_name www.example.co.uk;
  root /home/ubuntu/apps/example/current/public;
  ...
}

期望: http://example.com/image4.png 应永久重定向到http://www.example.com/image4.png

但是当请求http://example.com/image4.png时会发生什么,它会重定向到http://example.com

我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

我真的不知道什么是错的,但可能$1是空的,这是一个更好的方法。

server {
    listen 80 default_server;
    server_name  example.co.uk;
    return 301 http://www.example.co.uk$request_uri;
}