我在 Godaddy 的 Windows 主机上有一个静态 Web 应用程序。
在我的应用程序中,我有如下所示的 URL:
http://MyDomain.com/?page_id=18
http://MyDomain.com/?page_id=19
http://MyDomain.com/?page_id=20
我希望重写的 URL 是这样的:
http://MyDomain.com/microsoft-cloud-crm-for-small-business
http://MyDomain.com/online-development
http://MyDomain.com/small-development
那么 web.config 文件中的 URL 重写规则是什么?
编辑:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<rewrite>
<rules>
<rule name="Rewrite url" stopProcessing="true">
<match url="^?page_id=18" />
<action type="Rewrite" url="microsoft-cloud-crm-for-small-business" />
</rule>
<rule name="Rewrite url1">
<match url="^?page_id=21" />
<action type="Rewrite" url="Implementation" />
</rule>
</rules>
</rewrite>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
</configuration>
提前谢谢。
<rewrite>
<rules>
<rule name="Rewrite url">
<match url="^?page_id=18" />
<action type="Rewrite" url="custom-development.html" />
</rule>
</rules>
</rewrite>
嗨,实际上我没有使用.html扩展网址重写。 我正在使用一个没有扩展的 url 重写以及您所说的哪个 url 我在我的项目中为该 URL 创建了一个规则,如下所示
<add name="test" virtualUrl="^~/test-page/([0-9,a-z,A-Z,_,-]*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/test.aspx?cid=$1"
ignoreCase="true" />
我认为这会对你有所帮助...
如果您将 asp.net 与 .Net 版本 4.0 一起使用,您也可以在 Web 表单项目中获得 RouteCollection 的好处。
使用它,您可以轻松地使用特定的导航规则映射您的 URL。
例如,在您的情况下,如果"微软云-CRM-for 小型企业"与任何表中的名称相同,您可以在global.asax中放置以下代码...
routes.MapPageRoute(
"ViewPageDetail", // Route name
"/{*CategoryName}", // Route URL
"~/PageDetail.aspx" // Web page to handle route
);
然后在页面加载中,您可以有如下所示的内容。
string productName = Page.RouteData.Values["CategoryName"] as string;
,然后使用产品名称获取产品详细信息。
通过这种方式,您可以更好地处理正在呈现的逻辑和页面的代码不公正性。这是SEO asp.net 4.0中的新功能之一。
您可以检查以更好地理解。
谢谢