代码之家  ›  专栏  ›  技术社区  ›  Frankie

是否有301通配符匹配?

  •  1
  • Frankie  · 技术社区  · 10 年前

    我很难在网站重新设计完成后完成所有301个重定向。整个子目录及其广泛的内容不再存在。例如,如果“myolddata”是一个已不存在的文件夹,并且包含了无数个已不复存在的文件,我想说“忘掉所有这些,只需转到索引页”。似乎没有其他方法可以关闭谷歌的大门;Bing无休止地向我报告了一大堆404。有没有一种有效的说法:

    Redirect 301 /myolddata/  /index.html
    Redirect 301 /myolddata/* /index.html
    

    第一个说“忘记文件夹”,第二个说“忘掉里面的一切”?

    这个问题的第二部分是旧的PHP文件及其任意搜索参数也会被记录。诸如:

    oldfile.php?this=1&that=2&somethingelse=3
    oldfile.php?this=Tom&that=Dick&somethingelse=Harry
    

    你明白了。数百万人。我怎么能设置一个301来说“忘记oldfile.php和任何可以想象的参数-它们都不存在了!”

    您的帮助、意见和建议将是非常宝贵的,因此欢迎您提供所有见解!!

    1 回复  |  直到 10 年前
        1
  •  0
  •   anubhava    10 年前

    更好的使用 mod_rewrite 此使用的规则 301 状态代码。在您的 DOCUMENT_ROOT/.htaccess 文件:

    RewriteEngine On
    
    RewriteRule ^(oldfile\.php$|myolddata(/|$)) /index.html? [L,NC,R=301]
    

    ? 最后将删除任何现有的查询字符串。