Stefan
Stefan

Reputation: 153

Nginx rewrite domain and URLs

I'm configuring nginx with multiple server names, and trying to set up the following rewrite rules

redirect / on old.domain.com to new.domain.com/specific_page.php
redirect old.domain.com/$1 to new.domain.com/$1

In my "server" configuration, I have already the first rewrite condition working, but I cannot find the way to write the second.

if ($host = 'old.domain.com' ) {
    rewrite  ^/  http://new.domain.com/my-specific/link/list/info.php  permanent;
    rewrite  ^/(.*)$  http://old.domain.com/$request_uri?  permanent;
}

Any ideas how to handle easily this scenario? (I realise this might be an unusual setup.)

Upvotes: 4

Views: 5244

Answers (1)

Stefan
Stefan

Reputation: 153

Actually I managed to solve my problem :

if ($host = 'old.domain.com' ) {
    rewrite  ^/$  http://new.domain.com/my-specific/link/list/info  permanent;
    rewrite  ^(.*)$  http://old.domain.com$request_uri?  permanent;
}

the first rewrite rule ^/$ matches only http://old.domain.com/ and rewrites it to the requested URL
The second rewrite rule ^(.*)$ matches whatever is behind the http://old.domain.com/ and rewrites the domain only.

Upvotes: 2

Related Questions