0

我正在使用 Intelligencia URL 重写,但这些页面没有重定向并显示错误 404。虽然我在服务器上安装了重写模块。请告诉我我在做什么错误。我的 web.config 文件在下面..

<?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>
4

2 回答 2

1

首先在您的 asp.net 应用程序中添加 Intelligencia.UrlRewriter dll 引用,然后在您的 web.config 文件中进行以下设置:

<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>

尝试使用新网址(如 webform2.aspx as w2)调用您的页面。它会正常工作

于 2017-02-15T12:07:17.423 回答
0

用这个。Mode=RemoteOnly 仅在您从其他主机访问时重定向

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

或访问http://urlrewriter.net/index.php/support/reference/error-handler/error-page

于 2014-01-16T03:03:26.880 回答