IIS urlMappings 重定向和 SEO

发布于 2025-01-05 05:19:45 字数 1039 浏览 0 评论 0原文

我正在使用 IIS7 和 urlMappings 将一些 url 映射到实际页面。

示例:

    <urlMappings>
        <!-- Remap friendly urls to actual pages: -->
        <add url="~/help/" mappedUrl="~/content/help/help.aspx" />
        <add url="~/news/" mappedUrl="~/content/news/default.aspx" />
    </urlMappings>

如果 url 结尾有 '/' ,则效果很好,例如:

http://www.mysite.com /news/

但如果我这样做,我会收到页面未找到错误:

http://www.mysite. com/news

我可以添加一个额外的条目没有尾随的“/”,以便两者都映射到同一页面,但我不想为 SEO 这样做(会认为这是重复的内容)。

是否可以获取 urlMappings 进行重定向?

例如,这样的事情:

     <add url="~/help" redirect="~/help/" />

如果没有,最好的方法是什么?

您认为 Google 真的会惩罚

http://www.mysite.com/news/

http://www.mysite.com/news

重复吗?

I am using IIS7 and urlMappings to map some urls to actual pages.

Example:

    <urlMappings>
        <!-- Remap friendly urls to actual pages: -->
        <add url="~/help/" mappedUrl="~/content/help/help.aspx" />
        <add url="~/news/" mappedUrl="~/content/news/default.aspx" />
    </urlMappings>

This works great if the url has a trailing '/' , example:

http://www.mysite.com/news/

But I get page not found error if I do this:

http://www.mysite.com/news

I could add an extra entry without the trailing '/' so that both map to the same page, but I don't want to do this for SEO (would think it is duplicate content).

Is it possible to get the urlMappings to redirect?

For example, something like this:

     <add url="~/help" redirect="~/help/" />

If not, what would be the best way of doing this?

Do you think google would really penalize

http://www.mysite.com/news/

http://www.mysite.com/news

as duplicate?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁把谁当真 2025-01-12 05:19:45

这是我的解决方法:

我将两个条目(带或不带尾随“/”)添加到 web.config 中的 urlMappings

<urlMappings>
    <!-- Remap friendly urls to actual pages: -->
    <add url="~/help/" mappedUrl="~/content/help/help.aspx" />
    <add url="~/help" mappedUrl="~/content/help/help.aspx" />
</urlMappings>

然后在页面本身的 page_load 上添加以下代码:

    Dim mappedUrl as string = "/help"
    If Request.RawUrl.EndsWith(mappedUrl) Then
        Response.RedirectPermanent(String.Format("~{0}/", mappedUrl))
    End If

这将永久重定向并调用映射页面,而无需尾随“/”到带有尾随“/”的同一页面

Here is my work around:

I add both entries, with and without trailing '/', to the urlMappings in web.config

<urlMappings>
    <!-- Remap friendly urls to actual pages: -->
    <add url="~/help/" mappedUrl="~/content/help/help.aspx" />
    <add url="~/help" mappedUrl="~/content/help/help.aspx" />
</urlMappings>

Then in the page itself add the following code on page_load:

    Dim mappedUrl as string = "/help"
    If Request.RawUrl.EndsWith(mappedUrl) Then
        Response.RedirectPermanent(String.Format("~{0}/", mappedUrl))
    End If

This will permanently redirect and calls to the mapped page without a trailing '/' to the same page with a trailing '/'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文