我面临重复链接的问题(根据谷歌网站管理员工具)
例如,谷歌列出了 4 种 URL 作为实际 URL 的副本
1) mysite.com/k-Summer Season-10.htm
2) mysite.com/k-Summer%20Season-10.htm
3) mysite.com/k-summer-season-10.htm (actual link)
4) mysite.com/K---10.htm
现在如果你看一下第 4 个链接的结构,它清楚地表明无论你在 /k- 和 -10.htm 之间写什么,你都会得到第 10 页的内容,可以是下面的任何内容。
1) mysite.com/k-Summer Season-10.htm
2) mysite.com/k-Bummer%20Season-10.htm
3) mysite.com/k-Dumber-season-10.htm
4) mysite.com/K-Mars-&-Earth-Season-10.htm
那么有没有办法禁止打开其余的 URL(区分大小写和空格)并给出 404 错误或将它们重定向到实际链接?
下面是我的 .htaccess 的代码
RewriteEngine On
RewriteRule ^lightbox.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox.([0-9]+).htm$ lightbox.php?page=$1&%{QUERY_STRING}
RewriteRule ^search.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search.([0-9]+).htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^postcard([a-zA-Z0-9]+).htm$ postcards.php?postcard_id=$1&%{QUERY_STRING}
RewriteRule ^postcard.img([0-9]+).htm$ postcards.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^k-(.*)-([0-9]+).htm categories.php?cat_id=$2&%{QUERY_STRING}
RewriteRule ^cat.htm$ categories.php?%{QUERY_STRING}
RewriteRule ^r-(.*)-([0-9]+).htm details.php?image_id=$2&%{QUERY_STRING}
RewriteRule ^r([0-9]+).search.htm details.php?image_id=$1&%{QUERY_STRING}
ErrorDocument 404 /404.php
RewriteRule ^sitemap.xml$ google.php
亲切的问候
乔杰夫