Gopal
Gopal

Reputation: 217

URL rewriting pages is showing 404 error

I am using Intelligencia URL rewriting, but those pages is not redirecting and showing error 404. While I have installed rewrite module on server. Please suggest me what is mistake I am doing. My web.config file is below..

<?xml version="1.0"?>

<configuration>
   <configSections>
   <section name="rewriter" requirePermission="false"   type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
  </configSections>  
<appSettings/>
<connectionStrings>
    <add name="connStr" connectionString="Data Source=INV-DEV-SQL2K5;Initial Catalog=WidenerPortal;Persist Security Info=True;User ID=widener;Password=widener123a" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<httpModules>
  <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>       
    <!-- 
        Set compilation debug="true" to insert debugging 
        symbols into the compiled page. Because this 
        affects performance, set this value to true only 
        during development.
    -->
    <compilation debug="true"/>
    <!--
        The <authentication> section enables configuration 
        of the security authentication mode used by 
        ASP.NET to identify an incoming user. 
    -->
    <authentication mode="Windows"/>
    <!--
        The <customErrors> section enables configuration 
        of what to do if/when an unhandled error occurs 
        during the execution of a request. Specifically, 
        it enables developers to configure html error pages 
        to be displayed in place of a error stack trace.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>
    -->
</system.web>
  <rewriter>
     <rewrite url="~/Article/(.+)-(.+).aspx" to="~/DynamicPage.aspx?MyTitleId=$2"/>
 </rewriter>  
</configuration>

Upvotes: 0

Views: 867

Answers (2)

nativegrip
nativegrip

Reputation: 892

First of all add Intelligencia.UrlRewriter dll reference in your asp.net application and than below setting in your web.config file:

<configSections>
    <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
</configSections>

<system.web>
    <httpModules>
          <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
    </httpModules>
</system.web>


<rewriter>
    <rewrite url="w1" to="WebForm1.aspx" />
    <rewrite url="w2" to="WebForm2.aspx" />
</rewriter>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
    </modules>
</system.webServer>

Try it with call your page with new url like webform2.aspx as w2. It will work fine

Upvotes: 1

Minh Toan
Minh Toan

Reputation: 111

Use this. Mode=RemoteOnly redirect when you access from another host

<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">

or visit http://urlrewriter.net/index.php/support/reference/error-handler/error-page

Upvotes: 0

Related Questions