Tag Archives: redirect 301

Przekierowanie permanentne w NGINX(301) – lub jak kto woli z www na host bez-www

Sporo ostatnio dłubię przy nginx’ie i nie kryjąc swojej sympatii do tego serwera zacząłem dostawać pytania odnośnie jego konfiguracji. Tematem dosyć częstych pytań jakie się pojawiają są przekierowania permanentne(kod 301). Sprawa jest wyjaśniona w dokumentacji nginx’a, ale dla leniwych zdecydowałem się podać tutaj gotową konfigurację.

W bloku server { … } należy umieścić

if ($host = 'www.twojadomena.pl' ) {
   rewrite ^/(.*)$ http://twojadomena.pl/$1 permanent;
}

Bardzo ważne jest umieszczenie dyrektywy permanent na końcu, ponieważ odpowiada ona za kod 301 w przekierowaniu. Dodatkowo należy pamiętać o umieszczeniu hosta z www w opcji server_name:

server_name www.twojadomena.pl twojadomena.pl;

Oczywiście można rozbić jedną sekcję server na dwie dzięki czemu uzyskamy bardziej przejrzystą konfigurację:

server {
   listen 80;
   server_name www.twojadomena.pl;
   rewrite ^/(.*)$ http://twojadomena.pl/$1 permanent;
}
Number of Views :5519