首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使是简单的重写,UrlRewriting.Net也不能工作

即使是简单的重写,UrlRewriting.Net也不能工作
EN

Stack Overflow用户
提问于 2012-05-18 20:25:21
回答 2查看 2.5K关注 0票数 1

我想让网址重写使用UrlRewriteNet模块。

虽然我已经添加了所有必需的配置设置,但似乎没有任何操作,即使是简单的重写。

web.config:

代码语言:javascript
复制
<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>

据我所知,只需将Deafault.aspx页面重写为MyDefault.aspx即可。因此,我希望我的网址从https://server.address/Project.SiteName/Default.aspx简单地变成https://server.address/Project.SiteName/MyDefault.aspx

我在本地的IIS7Windows7开发pc上使用开发,但发布生产服务器将是IIS6,这就是为什么我在web.config中包含了这两种配置。

不幸的是,在没有任何原因的情况下,检查了IIS,并看到模块已在模块部分注册,但引擎从未运行!

我是不是漏掉了什么?

EN

回答 2

Stack Overflow用户

发布于 2012-08-22 15:13:39

用下面的方式做上面的事情

代码语言:javascript
复制
 <configuration>
     <configSections>
     <section name="urlrewritingnet"
     restartOnExternalChanges="true"
     requirePermission ="false"
     type="UrlRewritingNet.Configuration.UrlRewriteSection,
     UrlRewritingNet.UrlRewriter" />
     </configSections>
 </configuration>

然后是重写部分,用于重写urls

代码语言:javascript
复制
  <urlrewritingnet>
   <rewrites>

您要更新的urls将映射到此处.....

代码语言:javascript
复制
    </rewrites>
   </urlrewritingnet>

最后需要http模块来监听请求。

代码语言:javascript
复制
<system.web>
  <httpModules>
  <add name="UrlRewriteModule"
  type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  </httpModules>
</system.web>

除此之外,无需在web.config中进行配置,只需引用智能感知http://blog.vizioz.com/2009/11/add-intellisense-when-using-url.html的dll (强制)和.xsd文件即可

票数 3
EN

Stack Overflow用户

发布于 2017-08-18 16:25:19

打开Web.config并添加模块

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10652620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档