Sice mi to chvilku trvalo, než jsem si zopakoval regexy ale rozhodně to stálo za to. Jde o to, že jsem měl na začátku jen 1 doménu – sunamo.cz. Tu mi tehdy koupil ještě někdo jiný, který pak se mnou přerušil kontakt, takže jsem tu doménu nechal vypršet a pak si ji koupil sám.
Mezitím jsem si ještě koupil sunamo.cz. V ASPOne mi řekli, že by byl pro mě nejlepší doménový alias – tedy v prohlížeči bude www.sunamo.cz ale zobrazí se obsah z www.sunamo.cz. Jediné co jsem musel duplikovat tak byly uživatelské cookies a to hned 4x – pro sunamo.cz, sunamo.cz, www.sunamo.cz a www.sunamo.cz. 🍪
Pak mi ale Google Analytics začal hlásit, že mu přicházejí přístupy z jiné domény než která byla zadána při vytvoření účtu. Dobré, řekl jsem si, jednu doménu zruším a budu ji přesměrovávat. Ale kterou – prvně to vypadalo na sunamo.cz, hlavně proto že zkracovač zkracoval adresy na doménu sunamo.cz.
Pak jsem si ale řekl že bych dělal zbytečné problémy sobě i ASPOne, kdybych musel všechny reference na sunamo.cz přejmenovat na .net a že to ještě zkusím udělat pomocí URL Rewrite a všechny požadavky ze sunamo.cz přesměrovat na sunamo.cz. Nakonec jsem nalezl fungující řešení toto:
<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="https://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="https://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>První pravidlo přesměrovává na verzi s www. z bez www. pro stránky domény sunamo.cz. Druhé pravidlo pak přesměrovává všechny požadavky na .net doménu na www.sunamo.cz. Toto jsem zvládl ještě v pohodě, až na posledním místě je redirect, který přesměrovává z hlavní stránky, pokud obsahuje parametr q, na sunamo.cz.
Teď mě napadlo že tohle je zbytečné – stačilo by zrušit tu podmínku, o které ani nevím že ji tam mám, k účelu aby šli otevírat zkrácené odkazy pouze se sunamo.cz. Teď už to ale nemusím. Ale problém s Google Analytics, zdvojeným indexem googlu a spoustou jiného vyřešen – ať už to je ashx, html, aspx či cokoliv jiného a bude to na sunamo.cz, vždy se to ještě předtím než se stránka začne načítat/vykonávat přesměruje. ✅