xplat
xplat

Reputation: 8636

UrlRewriting.Net not working even with a simple rewrite

I want to make URL rewriting using UrlRewriteNet module.

While I have added all the required config settings, nothing seems to take action even for simple rewrite.

web.config:

<configuration>
    <configSections>
        <!-- URL Rewriting.NET -->
        <section name="urlrewritingnet"
            restartOnExternalChanges="true"
            requirePermission="false"
            type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
    </configSections>
    <system.web>
        <httpModules>
            <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
        </httpModules>
    </system.web>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="UrlRewriteModule"/>
            <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
        </modules>
    </system.webServer>
    <urlrewritingnet
        xmlns="http://www.urlrewriting.net/schema/config/2006/07">
        <rewrites>
            <add name="GeneralRewrite"
                virtualUrl="^~/Default.aspx"
                rewriteUrlParameter="ExcludeFromClientQueryString"
                destinationUrl="~/MyDefault.aspx"
                ignoreCase="true"
            />
        </rewrites>
    </urlrewritingnet>
</configuration>

Nothing more is requires as far as I understand to just rewrite the Deafault.aspx page to MyDefault.aspx. So I would expect my URL from https://server.address/Project.SiteName/Default.aspx to simply become https://server.address/Project.SiteName/MyDefault.aspx.

I use development in my local IIS 7 Windows 7 development pc but the release production server will be IIS 6 thats why I included both configuration into the web.config.

Unfortunately, and where there is no error for any reason, checked the IIS and saw that the module is registered in Modules section but the engine never runs !

Is there something that I miss here?

Upvotes: 1

Views: 2658

Answers (2)

gmemik
gmemik

Reputation: 1

Open Web.config and add modules

<configuration>
<system.webserver> 

<modules>

<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
<remove name="Session"/>
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>

</modules>

</system.webServer>
</configuration>

Upvotes: 0

Vishal Patwardhan
Vishal Patwardhan

Reputation: 317

make the above in following manner

 <configuration>
     <configSections>
     <section name="urlrewritingnet"
     restartOnExternalChanges="true"
     requirePermission ="false"
     type="UrlRewritingNet.Configuration.UrlRewriteSection,
     UrlRewritingNet.UrlRewriter" />
     </configSections>
 </configuration>

then comes the rewriting sections to rewrite urls

  <urlrewritingnet>
   <rewrites>

your urls to rewite will mapped here.....

    </rewrites>
   </urlrewritingnet>

and finally need to http module which will listen to the requests.

<system.web>
  <httpModules>
  <add name="UrlRewriteModule"
  type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  </httpModules>
</system.web>

Except this no configuration needs to done in web.config just reference the dll (mandatory) and .xsd file for intellisense http://blog.vizioz.com/2009/11/add-intellisense-when-using-url.html

Upvotes: 3

Related Questions