Правя сайт които използва URL ReWriting. Работи добре на моя компютър, но когато го кача на сървъра се оказа че страниците не се пренасочват или с дръги думи URL ReWriting -a не работи.Какво се оказа.След като пробвах всичко за което се сетих почхах да търся из нета и открих проблема.URL ReWriting- га на IIS7 се извършва по различен начин при IIS6 и 5. Излиза че 7 има вградени възможности за ReWriting, а освен това настройката в web.config е по - различна а именно:
Вместо да използвам това:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRewrite" type="Core.HttpModules.UrlRewrite, Core"/>
</httpModules>
(Правя ReWriting чрез модул)
трябва да използвам това :
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="UrlRewrite" type="Core.HttpModules.UrlRewrite, Core"/>
</modules>
</system.webServer>
И стана!
Също така при използване на IIS7 може да се зададе начина на пренаписването на url:
<rewriter>
<rewrite url="~/products/(.+)" to="~/products.aspx?category=$1" />
</rewriter>
Чудесна възможност която намалява писането.
По принцип ReWriting се прави по две главни причини:
1.Когато искаме да преместим дадена страница, а всъщото време не искаме хората които са я включили в bookmarks да не могат вече да я нямерят.В този случай просто се получава пренасочване към друго място.
2.Чрез ReWriting може да се направи по причтен от гледна точка на потребителя url. Но не само за него, но и за търсещите машини като Google и Yahoo. С други думи ReWriting- га може да повлияе положително на pagerank - гa на страницата, но и да повиши позицията и в резултатите от търсене. Например в url на дадена страница могат да бъдат поставени някакви ключови думи, което да окаже влияние в индексирането и. Въпреки, че това не е кой знае какъв CEO хак това би се взело по внимание от търсачките.