这个URL重写规则是什么?

时间:2012-09-25 05:05:40

标签: asp.net url-rewriting

我在Godaddy的Windows托管上有一个静态Web应用程序。

在我的应用程序中,我有以下网址:

http://MyDomain.com/?page_id=18
http://MyDomain.com/?page_id=19
http://MyDomain.com/?page_id=20

我希望重写的网址如下:

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>

提前致谢。

3 个答案:

答案 0 :(得分:0)

<rewrite>
<rules>
<rule name="Rewrite url">
    <match url="^?page_id=18" />
    <action type="Rewrite" url="custom-development.html" />
    </rule>
</rules>
</rewrite>

答案 1 :(得分:0)

你好我实际上并没有使用.html extenssion url Rewriting。我正在使用一个没有extenssion url重写和你说的url我在我的项目中为该url创建了一个规则,它位于下面

<add name="test"  virtualUrl="^~/test-page/([0-9,a-z,A-Z,_,-]*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/test.aspx?cid=$1"
  ignoreCase="true" />

我认为这会对你有帮助......

答案 2 :(得分:0)

那么如果您使用的是.Net版本4.0的asp.net,您也可以在Web表单项目中获得RouteCollection的好处。

使用此功能,您可以轻松地将您的网址映射到特定的导航规则。

在您的情况下,如果“microsoft-cloud-crm-for-small-business”是来自任何表的相同名称,您可以在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;

并使用productname获取产品详细信息。

通过这种方式,您可以使用正在呈现的逻辑和页面实现更好的代码不完整性。这是asp.net 4.0 for SEO的新内容之一。

can check可以更好地理解。

谢谢