Php 谷歌索引上的Mod rewrite 404
我的url是Php 谷歌索引上的Mod rewrite 404,php,url,mod-rewrite,uri,Php,Url,Mod Rewrite,Uri,我的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-r
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]
这很好(不确定第二条规则是否是实现这一点的最佳方法)
现在我也将在谷歌site.com/nl/url rewrite/categorie-1
“categorie-1”是我的分类的seo友好别名 如果我的分类标题也更改为“分类2”,我的别名将为“分类2”(自动别名) google
site.com/nl/url rewrite/categorie-1
中的此链接现在无法使用我如何解决这个问题?
我以前使用过id,所以我的链接应该是
site.com/nl/url rewrite/1/categorie-1
但这看起来不太好,我不希望url中有任何id当你更改标题时,你需要301将旧url重定向到新url。您可以在更改时对其进行内部跟踪,并让url_rewrite.php脚本在看到有人试图访问
categie-1
时将浏览器重定向到site.com/nl/url rewrite/categie-2
(因为它知道它已被更改),或者您可以手动添加(超过您拥有的两条规则)手动执行301重定向的规则:
RedirectMatch 301 ^/?(.{2})/url-rewrite/categorie-1/?$ /$1/url-rewrite/categorie-2/
301告诉谷歌,所有与
categorie-1
链接相关的链接信息都应该转移到新的categorie-2
链接上。您只需等待搜索引擎在传输之前对旧链接重新编制索引,这样您的页面在此之前仍将显示为404。我也在wordpress中查找,看看他们是如何做到的,这是类似的(第一个建议),谢谢