.htaccess 一个页面有多个url。搜索引擎给了我惩罚,请帮帮我

.htaccess 一个页面有多个url。搜索引擎给了我惩罚,请帮帮我,.htaccess,.htaccess,我使用prestashop作为我网站的购物车。我有个问题;该网站以前是动态URL。我启用了友好的url编写。问题是一个页面有多个url。您可以从动态url和静态url访问同一页面。事实上,一个页面有9个不同的URL。这显然给搜索引擎优化带来了问题,因为搜索引擎会因此惩罚我的网站 我能做些什么来解决这个问题?我不懂编程 这是该网站的访问权限。非常感谢任何示例代码或帮助 # URL rewriting module activation RewriteEngine on # URL rewriti

我使用prestashop作为我网站的购物车。我有个问题;该网站以前是动态URL。我启用了友好的url编写。问题是一个页面有多个url。您可以从动态url和静态url访问同一页面。事实上,一个页面有9个不同的URL。这显然给搜索引擎优化带来了问题,因为搜索引擎会因此惩罚我的网站

我能做些什么来解决这个问题?我不懂编程

这是该网站的访问权限。非常感谢任何示例代码或帮助

# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]
RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang=$1$5 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang=$1$4 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang=$1 [QSA,L,E]
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]

# Catch 404 errors
ErrorDocument 404 /404.php
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^***.com [NC] 
RewriteRule ^(.*)$ http://www.***.com/$1 [L,R=301] 

Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

Header set Cache-Control: "no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0"

一般来说,这相当简单。基本上有两种方法。首先,您可以使用301重定向来响应页面的“规范”版本(无论您选择的规范版本是什么),而不仅仅是内部重写。这将意味着通过旧链接进入的人将被重定向到新链接,等等。搜索引擎还将处理301重定向,并且只将“最终”目的地计算为真实页面

如果不想将用户重定向到新页面,另一种选择是在页面顶部添加一个
标记,该标记指向所需页面的“规范”版本。从搜索引擎的角度来看,规范链接就像301重定向一样工作(因为它只查看“重定向”页面),但用户不会被重定向:

<link rel="canonical" href="http://www.example.com/lang-en/whatever/blah" />


如果搜索引擎优化是你最关心的问题,请浏览谷歌网站管理员博客。基本上,它说对于相同的内容有多个URL是可以的,但是你必须告诉搜索引擎一个规范的URL。

Hi Codeka非常感谢你的回复。我想使用301重定向到最新的静态url。我该怎么做?每种语言550页,共17种语言。是否可以添加一个代码,自动检测每个页面的动态版本和其他版本,并将它们重定向到最新的url?如果不是,你建议什么?如何建议?再次感谢您,请在此查看htaccess代码。由于这显示了完整的版本嗨谢谢你的回答,我想使用301重定向。我需要在htaccess中添加什么来自动执行重定向?阿里