Duplicita webu s WWW a bez WWW – jak přesměrovat
Snažil jsem se dohledat nějaká historická fakta a změny v technologiích, které by mi vysvětlily, proč se vlastně prefix WWW u webů používá. Jistě to má svůj základ ve World Wide Webu a možná bylo v minulosti nutné onu subdoménu používat. Dnes to nutné není a dochází v té souvislosti hned k několika nedorozuměním.
Je běžnou praxí, že webmaster zajistí přesměrování pouze na jednu verzi, ale funkční zůstavají obě dvě. Těžko můžete v dnešní době mást uživatele tím, že si na subdoménu WWW dáte jiný obsah, takže i webhosting vám nastaví stejný adresář pro soubory domény bez WWW i s WWW. Webmaster pak typicky přesměruje jednu verzi na druhou.
Přesměrování adresy webu bez „www“ na adresu s „www“ pomocí zápisu do souboru .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^netzin.cz [nc]
RewriteRule (.*) http://www.netzin.cz/$1 [R=301,L]
Funguje i obráceně, tedy z adresy s „www“ na adresu bez „www“
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.netzin.cz [nc]
RewriteRule (.*) http://netzin.cz/$1 [R=301,L]
Pokud to neudělá, pak mohou nastat dvě situace. Buď s tím nepočítá nastavení serveru a DNS, takže jedna verze nebude fungovat (není to běžné, ale stává se to, zadáte do adresního řádku prohlížeče jenom doménu, prohlížeč přidá pouze http:// ale v DNS tento záznam není, takže web vlastně neexistuje), nebo bude na adrese s WWW i bez WWW stejný obsah.
Není nic složitého zápis uvedený výše přidat do souboru .htaccess a je to doporučováno.

V Google Webmasters Tools také můžete Googlu poradit, kterou doménu považujete za tu hlavní. Google ji pak upřednostní, nicméně ostatní vyhledávače tím nijak neovlivníte.
Nutno pak ale dodat, že pokud webmaster o tomto problému neví, nebo se o to prostě nezajímá, u vyhledávačů by to jeho webu nemělo nijak ublížit. Samotná duplicita není problém, protože jde o duplicitu přirozenou a vyhledávač prostě jednu z adres upřednostní a druhou bude tolerovat bez snížení váhy té první. Je dost dobře možné, že vyhledávač dokonce obě adresy ve svém hodnocení spojí v jednu a obě verze tak budou mít například stejné ranky.
V každém případě platí, že přesměrování je nejlepší řešení.

![Údolí Urnerboden – Švýcarské Alpy [fotoblog]](https://www.netzin.cz/wp-content/uploads/2019/02/1-735x413-2-150x150.jpg)





Zajímalo by mě ale, jak se dává na Index přesměrování na / přes 301, aby nedocházelo k duplicitě hlavní stránky
Takto:
RewriteRule index.php / [R=301,L]
Děkuju. A ještě by mě zajímalo a nejen mě ale i Vaše čtenáře, jestli je pravda že pomůže struktura webu http://kategorie.example.cz/textproduktu.html ve vysledcich vyhledavani. Zkousel jsem to v praxi nasadit na jeden projekt a vysledky jsem nezaznamenal krome toho, ze se v google analytics zvysil pocet odkazu na domenu z cizich webu. On totiz bere kategorie.examlple.cz jako cizi web.
Děkuji a doufám, že i muj příspěvek pomůže někomu k řešení problému. Jsem velmi spokojeny s vaším obsahem, kam se hrabe taková rádoby stránka Lupa.cz
Otto Lustig
Už nebere, teď to měnil.
Co se týče dotazu, tak to není snadné říct, záleží na konkrétním případu, názvech těch kategorií a práci, která se bude každé subdoméně věnovat. Pro klasický shop je lepší mít všechno na jedné hlavní doméně.
Dobrý den, takový článek jsem potřeboval.
Mohl by jste mi prosím kouknout na tento htaccess? Zdá se v pořádku, ale nevím jak ošetřit duplicitu při zadání http://www.subdomena.domena.cz. Stále mi to vací 403 a You don’t have permission to access / on this server.
—
# nastaveni vychozi stranky adresare
DirectoryIndex index.php
#Spuštění mod rewrite
RewriteEngine on
#definice výchozího adresare
RewriteBase /
#RewriteCond %{HTTP_HOST} ^www.subdomena.domena.cz [NC]
#RewriteRule (.*)www.subdomena.domena.cz$ http://subdomena.domena.cz/$1 [R=301,L]
# ekvivalent??? Ale také nefunkční … RewriteRule http://www.subdomena.domena.cz subdomena.domena.cz [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://subdomena.domena.cz/$1 [R=301,L]
# nebo ??? RewriteRule index.php / [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://subdomena.domena.cz/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.htm
RewriteRule ^(.*)index.htm$ http://subdomena.domena.cz/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/default.asp
RewriteRule ^(.*)default.asp$ http://subdomena.domena.cz/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/default.aspx
RewriteRule ^(.*)default.aspx$ http://subdomena.domena.cz/$1 [R=301,L]
# Cacheovani
ExpiresActive On
# vychozi expirace 5 minut
ExpiresDefault A300
# expirace podle typu souboru – 1 týden:
# expiruje pocet sekund pote, kdy byl accessnut (A)
ExpiresByType application/x-javascript A604800
ExpiresByType text/javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A604800
ExpiresByType image/jpeg A604800
ExpiresByType image/jpg A604800
ExpiresByType image/p-jpeg A604800
ExpiresByType image/png A604800
Děkuji moc
Díky za zápis do .htaccess, několik hodin jsem nad tím laboroval a ono je to přitom takto jednoduché! 🙂