Co je přesměrování?
Přesměrování je funkce webového serveru, která přesměruje provoz z jedné adresy URL na druhou. Přesměrování je důležitou funkcí v případě potřeby. Existuje několik různých typů přesměrování, ale běžnější formy jsou dočasné a trvalé. V tomto článku uvedeme několik příkladů přesměrování prostřednictvím souboru vhost, vynucení zabezpečeného připojení HTTPS, přesměrování na www a bez www a také rozdíl mezi dočasným a trvalým přesměrováním.
PoznámkaProtože se jedná o server Nginx, nebudou platit žádná pravidla .htaccess. Pokud používáte další populární webový server, Apache, bude tento článek užitečný.
Běžné metody přesměrování
Dočasná přesměrování (kód odpovědi:302 Found) jsou užitečná, pokud je adresa URL dočasně obsluhována z jiného umístění. Jsou například užitečné při provádění údržby a mohou uživatele přesměrovat na stránku údržby.
Trvalá přesměrování (kód odezvy:301 Trvale přesunuto) však informuje prohlížeč, že existuje stará adresa URL, kterou by měl zapomenout a již se o přístup nepokoušet. Jsou užitečné, když se obsah přesunul z jednoho místa na druhé.
Jak přesměrovat
Pokud jde o Nginx, je to řešeno v rámci .conf soubor, který se obvykle nachází v kořenovém adresáři dokumentu vašich stránek, /etc/nginx/sites-available/název_adresáře .conf . V kořenovém adresáři dokumentů jsou uloženy soubory vašeho webu a někdy může být v /html, pokud máte na serveru jeden web. Nebo pokud má váš server více stránek, může to být na adrese /domain.com. V obou případech to bude název vašeho souboru .conf. V /etc/nginx/sites-available/ adresář najdete výchozí soubor, který můžete zkopírovat nebo použít k připojení přesměrování. Nebo můžete vytvořit nový název souboru html.conf nebo domain.com.conf.
PoznámkaPokud se rozhodnete vytvořit nový soubor, nezapomeňte aktualizovat své symbolické odkazy v /etc/nginx/sites-enabled. Pomocí příkazu:
ln -s /etc/nginx/sites-available/domain.com.conf /etc/nginx/sites-enabled/domain.com.conf
Prvním příkladem, který si probereme, je přesměrování konkrétní stránky/adresáře na novou stránku/adresář.
Dočasné přesměrování ze stránky na stránku
server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.domain.com/newpage redirect;
}
Trvalé přesměrování ze stránky na stránku
server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.domain.com/newpage permanent;
}
Trvalé přesměrování www na jiné než www
server {
# Permanent redirect to non-www
server_name www.domain.com;
rewrite ^/(.*)$ http://domain.com/$1 permanent;
}
Trvalé přesměrování na www
server {
# Permanent redirect to www
server_name domain.com;
rewrite ^/(.*)$ http://www.newdomain.com/$1 permanent;
}
Někdy vyvstane potřeba změnit název domény webové stránky. V tomto případě bude přesměrování z adresy URL starých stránek na adresu URL nových stránek velmi užitečné, aby uživatelé věděli, že doména byla přesunuta na novou adresu URL.
Dalším příkladem, který si probereme, je přesměrování staré adresy URL na novou.
Trvalé přesměrování na novou adresu URL
server {
# Permanent redirect to new URL
server_name olddomain.com;
rewrite ^/(.*)$ http://newdomain.com/$1 permanent;
}
Přesměrování jsme přidali pomocí direktivy pro přepsání, o které jsme hovořili dříve. The ^/(.*)$ regulární výraz použije vše za / v URL. Například http://starý domain.com/index.html se přesměruje na http://nové doména.com/index.html. Abychom dosáhli trvalého přesměrování, za direktivu pro přepsání přidáme trvalé, jak můžete vidět v příkladu kódu.
Pokud jde o protokol HTTPS a jeho plné zabezpečení, je ideální k tomu, abyste každého přinutili používat https:// místo http://.
Přesměrování na HTTPS
server {
# Redirect to HTTPS
listen 80;
server_name domain.com www.domain.com;
return 301 https://example.com$request_uri;
}
Po zavedení těchto pravidel pro přepis se doporučuje otestovat konfiguraci před spuštěním restartu. Syntaxi Nginx lze zkontrolovat pomocí -t flag, aby se zajistilo, že v souboru není překlep.
Kontrola syntaxe Nginx
nginx -t
Pokud se nic nevrací, syntaxe je správná a Nginx se musí znovu načíst, aby se přesměrování projevilo.
Restartování Nginx
service nginx reload
Pro CentOS 7 který na rozdíl od CentOS 6 , používá systemd:
systemctl restart nginx
Přesměrování na spravovaném WordPress/WooCommerce
Pokud používáte naše spravované produkty WordPress/WooCommerce, k přesměrování může dojít prostřednictvím /home/s#/nginx/redirects.conf soubor. Každý web bude mít svůj vlastní s# což je uživatel FTP/SSH na web. Plugin s názvem „Přesměrování“ si můžete stáhnout, aby vám pomohl s jednoduchým přesměrováním ze stránky na stránku, jinak lze soubor redirects.conf použít k přidávání specifičtějších přesměrování pomocí příkladů vysvětlených výše.
Vzhledem k povaze spravované platformy poté, co budete mít pravidla v souboru redirects.conf, obraťte se na podporu a požádejte o opětovné načtení Nginx. Pokud vám výše uvedené kroky nevyhovují, kontaktujte náš tým podpory prostřednictvím chatu, lístku nebo telefonního hovoru. S Managed WordPress/WooCommerce získáte podporu 24/7, která je k dispozici a je připravena vám pomoci!