Jak nastavit Apache2 pro přesměrování z "non-www" subdomény na "www"
Tento tutoriál Vám ukáže, jak nastavit Apache2 pro přesměrování subdomény non-www na "www", a naopak.
Předpoklady
- Máte Linux běžící na Apache 2 - ideálně VPS u nás - hukot.net ;)
- Máte doménu (například example.com), jejíž DNS A záznamy pro "@" a "www" směřují na IP adresu vašeho serveru viz. výše.
Nastavení přesměrování z "non-www" na "www"
Metoda 1: Použití přesměrování 301
Nastavte dva virtuální hostitele, jeden pro "non-www" sub-domény a druhý pro "www"<VirtualHost *:80>
ServerName example.com
Redirect 301 / http://www.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
#other vhost settings go here (e.g. logs, site root)
</VirtualHost>Metoda 2: Použití podmínky modulu přepsání
Přidejte vyobrazené řádky níže do souboru .htaccess v kořenovém adresáři vašeho webu. Přesvědčte se, že mod_rewrite (modul Apache) má povoleno používat tuto metodu. Tímto můžete popřípadě povolit spuštění:sudo a2enmod rewriteRewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]Nastavení přesměrování z "www" na "non-www"
Metoda 1: Použití přesměrování 301
Nastavte dva virtuální hostitele, jeden pro "www" sub-domény a druhý pro "non-www"<VirtualHost *:80>
ServerName www.example.com
Redirect 301 / http://example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
#other vhost settings go here (e.g. logs, site root)
</VirtualHost>Metoda 2: Použití podmínky modulu přepsání
Přidejte vyobrazené řádky níže do souboru .htaccess v kořenovém adresáři vašeho webu. Přesvědčte se, že mod_rewrite modul Apache má povoleno používat tuto metodu. Tímto můžete popřípadě povolit spuštění:sudo a2enmod rewriteRewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]