我有一个使用 CMS Prestashop 开发的电子商务。
昨天我在我的网站站长工具中看到我有一些重复的 URL,如下所示:
www.mysite.com/manufacturers
www.mysite.com/it/manufacturers.
其中“it”是网站默认和唯一语言的后缀。
我已经在后台激活了友好的 URL,而且我有一个由后台生成器自动生成的 .htaccess 文件。
我应该怎么做才能解决这个问题?
PS:另外我认为我已经受到了 googlebot 的惩罚。
最佳答案
首先让我从 SEO 的角度澄清标题。问题出在 Prestashop 方面,而不是 SEO 方面。它只会影响您的 SEO。
现在说说问题,Prestashop 因 URL 问题而臭名昭著。我不会向您推荐 .htaccess hack 解决方案,因为每次您从后端重新生成 .htaccess 时,您都必须再次手动插入该 hack 以减少问题。并假设这个 url 问题在某个时间后再次出现,而不是你必须再次执行的其他 url。它可能会变成一场噩梦。
所以这是我个人的一些建议...
如果此站点很关键(我假设是这样),请从受信任的提供商处购买 Prestashop url 重写模块。如果将来再次出现此问题,您还将获得技术支持。
如果您无法购买,我建议您在 Prestashop 论坛上提出这个问题,因为这是 Prestashop 特有的,以永久解决这个问题。您很可能会得到更多的即时答案,因为您会发现那里的 Prestashop 工作人员比这里多。
关于.htaccess - Prestashop SEO 的网址重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728471/
这就是我做的a="%span.rockets#diamonds.ribbons.forever"a=a.match(/(^\%\w+)([\.|\#]\w+)+/)putsa.inspect这是我得到的#这就是我想要的#帮助?我尝试过但失败了:( 最佳答案 通常,您不能获得任意数量的捕获组,但如果您使用扫描,您可以为您想要捕获的每个标记获得一个匹配:a="%span.rockets#diamonds.ribbons.forever"a=a.scan(/^%\w+|\G[.|#]\w+/)putsa.inspect["%span","
我无法使用传统的Ruby方法从下面的数组user_list中删除所有重复对象,从而获得预期的结果。有解决这个问题的聪明方法吗?users=[]user_list.eachdo|u|user=User.find_by_id(u.user_id)users 最佳答案 这个怎么样?users=User.find(user_list.map(&:user_id).uniq)这具有作为一个数据库调用而不是user_list.size数据库调用的额外好处。 关于Ruby从数组中删除重复的对象,我们在
ruby中有没有一个很好的方法来删除可枚举列表中的重复项(即拒绝等) 最佳答案 对于数组你可以使用uniq()方法a=["a","a","b","b","c"]a.uniq#=>["a","b","c"]所以如果你只是(1..10).to_a.uniq或%w{antbatcatant}.to_a.uniq因为无论如何,几乎所有您实现的方法都将作为Array类返回。 关于Ruby删除可枚举列表中的重复项,我们在StackOverflow上找到一个类似的问题: h
我知道如何创建值数组的排列。例如:[*1..3].permutation(2)这导致以下六种排列:[1,2][1,3][2,1][2,3][3,1][3,2]但这个结果缺少三个排列,它们是相同值的组合,即:[1,1][2,2][3,3]如何获得所有排列,包括上面重复的排列? 最佳答案 尝试#repeated_permutation:[*1..3].repeated_permutation(3).to_a>pp[*1..3].repeated_permutation(3).to_a[[1,1,1],[1,1,2],[1,1,3],[1
像这样转换数组的最快/单行方法是什么:[1,1,1,1,2,2,3,5,5,5,8,13,21,21,21]...进入像这样的对象数组:[{1=>4},{2=>2},{3=>1},{5=>3},{8=>1},{13=>1},{21=>3}] 最佳答案 要获得所需的格式,您可以附加一个调用以映射到您的解决方案:array.inject({}){|h,v|h[v]||=0;h[v]+=1;h}.map{|k,v|{k=>v}}虽然它仍然是单行的,但它开始变得凌乱了。 关于ruby-在Ruby
我想输出一个散列数组,其中name对所有散列都是唯一的。我将如何使用ruby执行此操作?这是我的输入:input=[{:name=>"Kutty",:score=>2,:some_key=>'value',...},{:name=>"Kutty",:score=>4,:some_key=>'value',...},{:name=>"Baba",:score=>5,:some_key=>'value',...}]我希望输出看起来像这样:output=[{:name=>"Kutty",:score=>4,:some_key=>'value',...},{:name=>"Baba",:s
我正在使用Rails4应用程序,它需要创建大量对象以响应来自另一个系统的事件。当我调用create!时,主键列上出现非常频繁的ActiveRecord::RecordNotUnique错误(由PG::UniqueViolation引起)我的模型之一。我在SO上找到了其他答案,建议挽救异常并调用retry:beginTableName.create!(data:'here')rescueActiveRecord::RecordNotUnique=>eife.message.include?'_pkey'#Onlyretryprimarykeyviolationslog.warn"Retr
我有一个PORO(普通旧Ruby对象)来处理一些业务逻辑。它接收一个ActiveRecord对象并对其进行分类。为了简单起见,以下面为例:classClassificatorSTATES={1=>"Positive",2=>"Neutral",3=>"Negative"}definitializer(item)@item=itemenddefnameSTATES.fetch(state_id)endprivatedefstate_idreturn1if@item.value>0return2if@item.value==0return3if@item.value但是,我还想根据这些st
我想删除Array对象中的重复项目。最好举例说明。我有以下数组entries=["abc","ab","c","cd"]我想要一种方法,通过从Array中的元素中删除重复项来清理它,并返回一个Array,每个唯一项都有一个元素。所以这是我为此编写的方法:classArraydefclean_up()self.join("").split("").uniqendend所以现在当我调用entries.clean_up时,我得到以下结果:["a","b","c","d"]这正是我想要的结果,但是在Ruby中有更优雅的方法吗? 最佳答案 s
在下面的Ruby示例中,是否有一种模式可以让YAMLNOT静默忽略重复键“one”?irb(main):001:0>require'yaml'=>trueirb(main):002:0>str='{one:1,one:2}'=>"{one:1,one:2}"irb(main):003:0>YAML.load(str)=>{"one"=>2}谢谢! 最佳答案 使用Psych,您可以遍历AST树以查找重复键。我在我的测试套件中使用以下辅助方法来验证我的i18n翻译中没有重复键:defduplicate_keys(file_or_cont