2016-10-18 1 views
0

をリダイレクトするようにページをリダイレクトします。はすでに私が<strong>www.example.com</strong>を持っており、<strong>booking.example.com</strong>と私は<strong>example.com/partners</strong>に<strong>booking.example.com/partners</strong>をリダイレクトするディレクトリ

www.exampleに、booking.example.com/partners/doesntexistを私は現在

location ~ ^/partners/(.*) { 
    return 301 http://www.example.com/partners/$1; 
} 

を使用していますが、今私は、たとえば、新しいものへの古い亡きリンクをリダイレクトします.COM /パートナー/ doesexist

私はこの実行しようとしました:

location "^/partners/IDoNotExistAnymore" { 
    return 301 http://www.example.com/partners/CorrectLink; 
} 

をしかし、それはしていませんそれは常にルートにリダイレクトされます。

答えて

1

locationディレクティブの構文をチェックする必要があります。詳細は、this documentを参照してください。

あなたは正規表現の場所を使用しているように見えるが、プリフィックスの位置と正確に一致する場所が、この場合には、より効率的になります。

location ^~ /partners { 
    return 301 http://www.example.com$request_uri; 
} 
location = /partners/IDoNotExistAnymore { 
    return 301 http://www.example.com/partners/CorrectLink; 
} 
関連する問題