1

我的 url 是site.com/nl/url-rewrite/categorie-1
我的 mod 重写规则是:

# 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”(自动别名)

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

4

1 回答 1

0

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

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

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

于 2012-07-24T17:22:50.317 回答