Sice mi to chvilku trvalo, nez jsem si zopakoval regexy ale rozhodne to stalo za to. Jde o to, ze jsem mel za zacatku jen 1 domenu – sunamo.cz. Tu mi tehdy koupil jeste nekdo jiny, ktery pak se mnou prerusil kontakt, takze jsem tu domenu nechal vyprset a pak si ji koupil sam.
Mezitim jsem si jeste koupil sunamo.net. V ASPOne mi rekli, ze by byl pro me nejlepsi domenovy alias – tedy v prohlizeci bude www.sunamo.net ale zobrazi se obsah z www.sunamo.cz. Jedine co jsem musel duplikovat tak byly uzivatelske cookies a to hned 4x – pro sunamo.cz, sunamo.net, www.sunamo.cz a www.sunamo.net.
Pak mi ale Google Analytics zacal hlasit, ze mu prichazeji pristupy z jine domeny nez ktera byla zadana pri vytvoreni uctu. Dobre, rekl jsem si, jednu domenu zrusim a budu ji presmerovavat. Ale kterou – prvne to vypadalo na sunamo.cz, hlavne proto ze zkracovac zkracoval adresy na domenu sunamo.net.
Pak jsem si ale rekl ze bych delal zbytecne problemy sobe i aspone, kdybych musel vsechny reference na sunamo.cz prejmenovat na .net a ze to jeste zkusim udelat pomoci URL Rewrite a vsechny pozadavky ze sunamo.net presmerovat na sunamo.cz. Nakonec jsem nalezl fungujici reseni toto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<system.webServer> <rewrite> <rules> <clear></clear> <rule name="Redirect to www" enabled="true" stopProcessing="true"> <match url="(.*)"></match> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="^sunamo.cz$"></add> </conditions> <action type="Redirect" url="http://www.sunamo.cz/{R:1}" redirectType="Permanent"></action> </rule> <rule name="Rewrite rule1 for net" stopProcessing="true"> <match url="((.*)?)$" negate="false"></match> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="(.*.net)$"></add> </conditions> <action type="Redirect" url="http://www.sunamo.cz/{R:0}" appendQueryString="true"></action> </rule> <rule name="Redirect from www net" enabled="true" stopProcessing="true"> <match url="(.*)$"></match> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{URL}" pattern="http://www(.*)net/?q=(.*)"></add> </conditions> <action type="Redirect" url="http://www.sunamo.cz/?q={C:2}" appendQueryString="true" redirectType="Permanent"></action> </rule> </rules> </rewrite> </system.webServer> |
Prvni pravidlo presmerovava na verzi s www. z bez www. pro stranky domeny sunamo.cz. Druhe pravidlo pak presmerovava vsechny pozadavky na .net domenu na www.sunamo.cz. Toto jsem zvladl jeste v pohode, az na poslednim miste je redirect, ktery presmerovava z hlavni stranky, pokud obsahuje parametr q, na sunamo.cz.
Ted me napadlo ze tohle je zbytecne – stacilo by zrusit tu podminku, o ktere ani nevim ze ji tam mam, k ucelu aby sli otevirat zkracene odkazy pouze se sunamo.cz. Ted uz to ale nemusim. Ale problem s Google Analytics, zdvojenym indexem googlu a spoustu jinym vyresen – at uz to je ashx, html, aspx ci cokoliv jineho a bude to na sunamo.net, vzdy se to jeste predtim nez se stranka zacne nacitat/vykonavat presmeruje.