2

我在 urlrewriting.config 文件中设置了一些不错的 url 重写。这些效果很好。但是,我想将所有扩展名为 .aspx 的页面重定向到正确的页面。

例如:

如果我在以下位置输入此网址:

凭证results.aspx?term=Home_and_Garden

我希望它重定向到这个:

/vouchersresults/Home_and_Garden

两个网址都可以正常工作,但我根本不希望网站使用 .aspx。

我已经在 URLrewriting.config 中尝试了这段小代码,除了在我使用一些查询字符串值创建的页面上之外,它工作得很好:

<add name="301RedirectDirUrls"
   redirectMode="Permanent"
   redirect="Application"
   ignoreCase="true"
   rewriteUrlParameter="IncludeQueryStringForRewrite"
   virtualUrl="^\/(?!(umbraco\/|data\/|install\/|usercontrols\/|umbraco_client\/))(.*)\.aspx"
   destinationUrl="$1/$2" />

当我单击此页面(/VouchersResults/Home_and_Garden/)上的分页按钮时,会触发回发,它将网址更改为丑陋的网址:

/VouchersResults/?term=Home_and_Garden

有没有人有任何想法可能导致这种情况?

谢谢

4

1 回答 1

2

umbraco 内置删除 aspx。将 umbracoUseDirectoryUrls 设置为 true

在 web.config appsettings

<add key="umbracoUseDirectoryUrls" value="true" />

关于 Url 重写,如果我要在 IIS 中使用 URL Rewrite 执行此操作,我会执行此操作

^vouchersresults/([^/]+)?$
于 2012-10-11T18:57:04.030 回答