Rewriting request to www.domain.com to domain.com
António P. P. Almeida
appa at perusio.net
Mon Jan 31 16:11:58 MSK 2011
On 31 Jan 2011 10h53 WET, zblut at cerego.com wrote:
Your rewrite doesn't work because you're not passing along the request
URI available in the $request_uri variable.
Use 2 server blocks:
server {
## This is to avoid the spurious if for sub-domain name
## rewriting. See http://wiki.nginx.org/Pitfalls#Server_Name.
listen 80;
server_name www.foobar.com;
rewrite ^ $scheme://foobar.com$request_uri? permanent;
} # server domain rewrite.
server {
listen 80;
charset off;
server_name www.foobar.com;
access_log /var/log/nginx/iknow_access.log cerelog;
location / {
(...)
}
location /widgets/ {
return 410;
}
location /banners/ {
return 410;
}
error_page 404 410 /404.html;
location = /404.html {
root /data/foobar/current/public;
}
}
> I want it to rewrite all requests to the www.foobar.com to the flat
> level domain of foobar.com.
>
> I.e. www.foobar.com/awesomelink should be foobar.com
>
> But, I am getting foobar.com/awesomelink instead.
>
> Also, the 410 responses are redirecting just like the location /
> This is with Nginx 0.7.65
>
> Any ideas what I am doing wrong?
Cf. above.
--- appa
More information about the nginx
mailing list