1

我正在使用Intelligenicai.URLRewriter.dll重写我的网站 URL 它工作正常我以以下链接为例

http://anupkumargupta.wordpress.com/2011/05/28/url-rewriting-with-urlrewriter-net-simplest-way-asp-net-c-sql-blog/

在另一篇文章中,我读到 URL 重写会给搜索引擎带来问题,因为现在我们可以使用两个不同的 URL 访问同一个页面,一个没有 URL 重写,一个有 URL 重写。(检查此链接http://thecodebug.com/?p=296

上面提到的链接谈到搜索引擎如果在网站上发现重复的内容会受到惩罚。这篇文章 (http://thecodebug.com/?p=296) 讨论了“标题中的 html 规范链接”,如果我们不添加它们,那么我们可以告诉搜索引擎这个 url 是规范的。

现在我的问题即使我使用 Intelligenicai.URLRewriter.dll 也适用,如果这是事实,我应该采取哪些预防措施来避免这种情况。

我的 URL 示例 与 URL 重写 http://www.xyz.com/Article/en-US/19/87/let-the-spirit-of-our-nation 's-founders-guide-us.aspx

URL 无需重写 http://www.xyz.com/Article/ArticleDetails.aspx?Language=en-US&PageID=19&ArticleID=87

web.config 的一部分

  <rewriter>
    <rewrite url="~/Article/(.+)/(.+)/(.+)/(.+).aspx" to="~/ArticleDetails.aspx?Language=$1&amp;PageID=$2&amp;ArticleID=$3" processing="stop"/>
  </rewriter>
4

1 回答 1

1

您可以添加2条规则:一是将新样式链接重写为物理URL然后停止处理规则,然后按照规则将对aspx页面的直接请求重写为新样式URL,301永久重定向,并停止处理规则。301重定向很重要!如果您无法通过重写 DLL 来做到这一点,那么您可以将 URL 重定向到一个特殊的隐藏页面,该页面将接受旧页面作为查询字符串或查看引荐来源网址,然后使用 a 将其映射到新页面301重定向到那里。

更新:这里有更多信息:

使用 Intelligenica UrlRewriter,您将按以下顺序设置两个规则:

第一条规则使用您已经设置的规则,将花哨的 URL 重定向到物理文件。

第二条规则采用物理文件的路径,并且 (a) 404 或 (b) 301永久重定向到花哨的 URL。如果您有一个页面提供多页内容,您最好停止处理并出现 404 错误。此外,只要您从不在网站的任何地方使用旧式链接,就应该没问题。如果您在任何时候使用旧式链接(在您重写 URL 之前),您肯定需要确保重写设置以重定向或 404 页面,以便强制使用新式 URL。

<rewriter>
    <rewrite url="~/Article/(.+)/(.+)/(.+)/(.+).aspx" to="~/ArticleDetails.aspx?Language=$1&amp;PageID=$2&amp;ArticleID=$3" processing="stop"/><!-- rewrites URL -->
    <rewrite url="~/ArticleDetails.aspx?Language=(.+)&amp;PageID=(.+)&amp;ArticleID=(.+)" to="~/Article/$1/$2/$3.aspx" processing="stop" permanent="true" /><!-- Redirects old page to new url with 301 -->
</rewriter>

希望这可以帮助。

于 2012-05-07T05:25:44.553 回答