如何使用htaccess防止重复内容

时间:2015-08-14 21:47:21

标签: .htaccess duplicate-content

我使用.htaccess创建一个干净的网址但是 当我检查我的网站时 example.com/some-request它有重复的内容 xyz.com/product_view.php?category_id=some-request

我很难找到解决方法,这是我的重写规则:

RewriteEngine on

RewriteBase /

RewriteRule ^([0-9a-zA-Z_-]+)$ product_view.php?category_id=$1 [NC,L]

什么是更好的解决方案?

1 个答案:

答案 0 :(得分:1)

您需要外部重定向请求 example.com/product_view.php?category_id=some-request
xyz.com/some-request内部重写之前。

尝试以下方法:

RewriteEngine on
RewriteBase /

# Redirect direct requests for the real URL to your desired URL
RewriteCond %{THE_REQUEST} \?category_id=([^\ ]*)
RewriteRule ^product_view\.php /%1? [R=301,L]

# Existing rewrite to real URL
RewriteRule ^([0-9a-zA-Z_-]+)$ product_view.php?category_id=$1 [NC,L]

一点一点......但如果这些网址被编入索引,那么它只会真正重复。如果您始终链接到“漂亮”的网址,则风险相对较低。通过在网页上设置相应的rel="canonical" link元素,也可以避免这种情况。