Przekierowanie strony

0

Cześć,
wrzuciłem na VPS-a stronę, która działa zarówno pod adresem adresstrony.pl jak również www.adresstrony.pl
Chciałbym aby użytkownicy którzy wchodzą na adresstrony.pl byli automatycznie przekierowywani na tą zaczynającą się od www
Różne wersję znalazłem w internecie tego jak to można zrobić ale nie znam nginx-a więc chciałbym jeszcze was podpytać.
Obecnie ustawienia w pliku /etc/nginx/sites-available/default wyglądają tak:

server {

        listen 443 ssl default_server;
        ssl_certificate /etc/nginx/ssl/adresstrony.pl/server.crt.combined;
        ssl_certificate_key /etc/nginx/ssl/adresstrony.pl/server.key;
        ssl_client_certificate /etc/nginx/ssl/adresstrony.pl/server.cacert;
        ssl_verify_client optional;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;

        server_name adresstrony.pl www.adresstrony.pl;

        gzip on;

żeby to zrobić trzeba tworzyć dodatkowy plik w /etc/nginx/sites-available?

próbowałem w taki sposób ale nie zadziałało :/

server_name adresstrony.com;
return 301 $scheme://www.adresstrony.com$request_uri;
5

Musisz mieć dwa bloki server, jeden reagujący na www.adresstrony.pl, a drugi na adresstrony.pl, i na tym drugim zrobić przekierowanie. Coś w tym stylu:

    server {
        server_name adresstrony.pl;
        return 301 $scheme://www.adresstrony.pl$request_uri;
    }


    server {
        server_name www.adresstrony.pl;

        # i tutaj cała reszta rzeczy
    }

Nie musisz tego robić w oddzielnym pliku, spokojnie można w jednym – ja na przykład grupuję tylko po głównych domenach, wszelkie przekierowania z www na bez i odwrotnie, czy z braku SSL na z mam w plikach przypisanych do konkretnych domen.

3

To tak na przyszłość, gdyby ktoś szukał rozwiązania podobnego problemu, w zasadzie nie trzeba definiować dwóch bloków server {}

server {
  listen 80;
  listen 443 ssl;
  
  server_name adresstrony.pl www.adresstrony.pl;

  if ($http_scheme == 'http') {
    return 301 https://$http_host$request_url;
  }

  # i tutaj cala reszta

Mogą być literówki. :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1