Hvernig á að beina NON-WWW & WWW með Nginx

Þegar þú ert með vefsíðu eða forrit í gangi Nginx er æskilegt að leyfa gestum að fá aðgang að léninu með því að nota bæði www og non-www útgáfur af léninu þínu. Hins vegar, á tímum leitarvélabestunarinnar í dag og notendur sem vilja skjóta og auðvelda vafraupplifun, getur það haft neikvæð áhrif á heildarupplifun vefsíðunnar þinnar að hafa tvo vefslóðartengla. Hins vegar þýðir þetta ekki að þú ættir að yfirgefa eina af leiðum gesta þinna til að fá aðgang að síðunni. Þess í stað getur það að setja upp einfalda framvísun bætt upplifun gesta á vefsíðunni þinni, aukið viðurkenningu á bakslagi hraðar og bætt SEO einkunn.

Í handbókinni hér að neðan muntu læra hvernig á að beina www vefslóð yfir á ekki www, td (www.example.com) til (example.com) og öfugt með tilvísun er kallað a Varanleg tilvísun, eða „301 tilvísanir“, Þetta er hægt að gera á hvaða stýrikerfi sem er sem notar Nginx, dæmin eru eingöngu fyrir netþjónablokkirnar. Þeir útskýra ekki hvernig á að setja þetta upp eða hvernig á að setja upp Nginx.

Forsendur

  • Mælt með stýrikerfi: Hvaða Linux kerfi sem er sem getur keyrt Nginx
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.
  • Ráðlagðir pakkar: Curl

Settu upp curl Centos/Rocky Linux/Rhel/Oracle:

sudo yum install curl

Settu upp krulla Debian/Ubuntu/Linux Mint:

sudo apt install curl

Fáðu


Valkostur 1: Beindu NON-WWW yfir á WWW

Í fyrsta dæminu muntu bæta við kóðanum hér að neðan fyrir ofan núverandi (www) netþjónsnafnablokk til að beina öllum gestum sem snerta slóðina þína sem ekki er www á www slóð eingöngu.

HTTP (80)

server {
    server_name    .example.com;
    listen                 80;
    listen                 [::]:80;
    return 301         https://www.example.com$request_uri;
}

HTTPS (443)

server {
    listen                         443 ssl http2;
    listen                          [::]:443 ssl http2;
    server_name             .example.com;

    # SSL
    ssl_certificate                 /path/to/cert.pem;
    ssl_certificate_key         /path/to/key.pem;
    ssl_trusted_certificate    /path/to/cert.crt;
    return                             301 https://www.example.com$request_uri;
}

Athugið, vertu viss ($request_uri) er ekki fjarlægt þar sem þetta getur valdið vandræðum með að allir tenglar sem ekki eru www beina bara aftur á heimasíðuna þína.

Dæmi um þetta er https://example.com/random-topic. Ef ($request_uri) er ekki bætt við mun það einfaldlega fara á www.example.com í stað https://www.example.com/random-topic, sem mun pirra gesti þína og skaða röðun leitarvéla þinna þar sem vefskriðarar fá ruglaður.

Valkostur 2: Beindu WWW yfir á NON-WWW

Í öðru dæminu muntu bæta við kóðanum hér að neðan fyrir ofan núverandi (ekki www) netþjónsnafnablokk til að beina öllum gestum sem snerta www slóðina þína á vefslóð sem ekki er www.

HTTP (80)

server {
    server_name     www.example.com;
    listen                 80;
    listen                 [::]:80;
    return 301         https://example.com$request_uri;
}

HTTPS (443)

server {
    listen                  443 ssl http2;
    listen                  [::]:443 ssl http2;
    server_name     www.example.com;

    # SSL
    ssl_certificate                /path/to/cert.pem;
    ssl_certificate_key        /path/to/key.pem;
    ssl_trusted_certificate   /path/to/cert.crt;
    return                             301 https://example.com$request_uri;
}

Eins og fram kemur í lok valkosts 1, vertu viss um ($request_uri) er ekki fjarlægt. Þetta er ómissandi hluti.

Athugaðu, vertu viss um að setja vottorðin og lykilinn fyrir HTTPS tilvísanir eða áttu í vandræðum.


Fáðu


Staðfestu breytingar

Áður en þú endurræsir Nginx tilvikið þitt er best að gera þurrhlaup til að tryggja að engar villur séu í því sem þú bættir við. Til að prófa skaltu framkvæma eftirfarandi skipun:

sudo nginx -t

Ef allt er í lagi ættirðu að fá eftirfarandi úttak:

nginx: the configuration file /etc/nginx/my-server.conf syntax is ok
nginx: configuration file /etc/nginx/my-server.conf test is successful

Haltu áfram að endurræsa Nginx þjónustuna þína til að gera breytingarnar lifandi:

sudo systemctl restart nginx

Það er það! Þú hefur lokið áframsendingunni. Til að prófa hvort tilvísunin virki skaltu framkvæma eftirfarandi:

próf sem ekki er frá www til www

curl -I https://example.com

Dæmi úttak:

HTTP/1.1 301 Moved Permanently
 Server: nginx/1.21.1 (Ubuntu)
 Date: Mon, 14 July 2021 18:20:19 GMT
 Content-Type: text/html
 Content-Length: 193
 Connection: keep-alive
 Location: http://www.example.com/

Tilvísunarpróf frá www til ekki www

curl -I https://www.example.com

Dæmi úttak:

HTTP/1.1 301 Moved Permanently
 Server: nginx/1.21.1 (Ubuntu)
 Date: Mon, 14 July 2021 18:21:33 GMT
 Content-Type: text/html
 Content-Length: 193
 Connection: keep-alive
 Location: http://example.com/

Athugasemdir og niðurstaða

Í handbókinni hefurðu lært hvernig þú getur auðveldlega og fljótt bætt bæði www og ekki www stefnu við netþjónssíðu Nginx þíns, sem mun bæta heildarupplifun gesta þinna með því að fara aðeins á eina vefslóð í stað tveggja.

Eins og útskýrt var í upphafi handbókarinnar er SEO að verða mikilvægara, leitarvélar eru stöðugt að merkja niður vefsíður og að hafa tvær vefslóðir með hugsanlegu tvíteknu efni er stórt rautt merki gegn vefsíðunni þinni. Að bæta þessari tilvísun við getur fljótt aukið röðun þína og bakslag.

Leyfi a Athugasemd