【问题标题】:Mod rewrite 404 on google indexMod重写谷歌索引上的404
【发布时间】:2012-07-24 12:01:12
【问题描述】:

我的网址是site.com/nl/url-rewrite/categorie-1
我的模组重写规则是:

# Rewrite taxonomy URLs
#   Input:  LANG/url-rewrite/TERM
#   Output: url_rewrite.php?term=TERM
RewriteRule ^.{2}/url-rewrite/([A-Za-z0-9-]+)/?$ /url_rewrite.php?term=$1 [L]
#   Input:  LANG/url-rewrite
#   Output: url_rewrite.php
RewriteRule ^.{2}/url-rewrite/?$ /url_rewrite.php [L]

这很好用(不确定第二条规则是否是解决这个问题的最佳方法)

现在我也会在 google 中获得一个链接 site.com/nl/url-rewrite/categorie-1
'categorie-1' 是我的类别的 seo 友好别名

如果我的类别标题也更改为“Categorie 2”,我的别名将是“categorie-2”(自动别名)

googlesite.com/nl/url-rewrite/categorie-1 中的此链接现在无法使用
我该如何解决这个问题?
我以前用过 id,所以我的链接是site.com/nl/url-rewrite/1/categorie-1
但这看起来不太好,我不希望 url 中有任何 id

【问题讨论】:

    标签: php url mod-rewrite uri


    【解决方案1】:

    当您更改标题时,您需要将旧 URL 301 重定向到新 URL。您可以通过在更改时进行内部跟踪并让 url_rewrite.php 脚本在看到有人尝试访问 categorie-1 时将浏览器重定向到 site.com/nl/url-rewrite/categorie-2 来做到这一点(因为它知道它已被更改),或者您可以手动添加(在您拥有的 2 条规则之上)手动执行 301 重定向的规则:

    RedirectMatch 301 ^/?(.{2})/url-rewrite/categorie-1/?$ /$1/url-rewrite/categorie-2/
    

    301 告诉 google 与 categorie-1 链接关联的所有链接信息都应转移到新的 categorie-2 链接。您只需要等待搜索引擎在转移发生之前重新索引旧链接,这样您的页面在此之前仍会显示为 404。

    【讨论】:

    • 我也在看wordpress,看看他们是怎么做的,是这样的(第一个建议),谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 2023-03-25
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多