Rewrite rule for all domains.

António P. P. Almeida appa at perusio.net
Tue Apr 16 15:18:50 UTC 2013


Adding to Jonathan suggestion with a twist:

1. Use a map directive at the http level:

    map $host $rewrite_domain {
        default 0;
        ~www\.(?<domain>.*)$ $domain;
    }

 2. Create a default server while leaving all vhosts using only the base
domain.

     server {
         listen 80 default_server;

         if ($rewrite_domain) {
             return 301 $scheme://$rewrite_domain$request_uri;
         }
      }

----appa



On Tue, Apr 16, 2013 at 4:47 PM, David | StyleFlare <david at styleflare.com>wrote:

> Pardon me if I missed this in the docs...
>
> My issue is that I want to rewrite every domain and not create a server
> block for each.
>
> I am trying to rewrite every domain thats pointing to Nginx
>
> from www.server.com to server.com
>
> currently I am doing uwsgi_pass unix://$host.sock
>
> but if the host name has the www prefix then my socket is not found...
>
> Currently I am using the default nginx.conf file with only one line added
> uwsgi_pass
>
> Thanks in advance for any help.
>
>
>
>
>
>
> ______________________________**_________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/**mailman/listinfo/nginx<http://mailman.nginx.org/mailman/listinfo/nginx>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130416/5b5c1239/attachment.html>


More information about the nginx mailing list