【问题标题】:301 redirect in .htaccess redirecting to incorrect page.htaccess 中的 301 重定向重定向到不正确的页面
【发布时间】:2014-09-29 05:58:55
【问题描述】:

我正在尝试将不再存在的旧页面 /home/samples.html 重定向到新主页 /

我将重定向写为:Redirect 301 /home/samples.html /

但是,当我访问旧页面时,我被重定向到 /non-slip-mats-anti-slip-placematssamples.html

这可能是由于与另一个重定向冲突造成的吗?我写的其他内容如下:

  Redirect 301 /front-page /
  Redirect 301 /content/mats /non-slip-mats-anti-slip-placemats
  Redirect 301 /content/netting /non-slip-netting
  Redirect 301 /content/self-adhesive-dycem /non-slip-self-adhesive
  Redirect 301 /content/bottle-openers /bottle-openers
  Redirect 301 /content/jar-openers /jar-openers
  Redirect 301 /content/cello-mats /cello-mats
  Redirect 301 /content/coasters /non-slip-coasters
  Redirect 301 /content/product-care /product-care
  Redirect 301 /content/cup-holder /cup-holder
  Redirect 301 /content/reels /reels
  Redirect 301 /content/floor-mats /floor-mats
  Redirect 301 /content/promotional-items /promotional-items
  Redirect 301 /babies.php /
  Redirect 301 /hippomats.php /non-slip-mats-anti-slip-placemats
  Redirect 301 /reels.php /reels
  Redirect 301 /netting.php /non-slip-netting
  Redirect 301 /jaropener.php /jar-openers
  Redirect 301 /catering.php /catering
  Redirect 301 /bottleopener.php /bottle-openers
  Redirect 301 /mats.php /non-slip-mats-anti-slip-placemats
  Redirect 301 /coasters.php /non-slip-coasters
  Redirect 301 /home.php /
  Redirect 301 /panels.php /non-slip-self-adhesive
  Redirect 301 /floormat.php /floor-mats
  Redirect 301 /music.php /music
  Redirect 301 /content/occupational-therapy /occupational-therapy
  Redirect 301 /pdf/ot.pdf /occupational-therapy
  Redirect 301 /trayliner.php /non-slip-mats-anti-slip-placemats
  Redirect 301 /cupholder.php /cup-holder
  Redirect 301 /rehab.php /occupational-therapy
  Redirect 301 /healthcare/index.php /
  Redirect 301 /customersample.php /
  Redirect 301 /usage.php /
  Redirect 301 /home/reels.php /reels
  Redirect 301 /home/music.php /music
  Redirect 301 /discs.php /non-slip-self-adhesive
  Redirect 301 /furnituredisc.php /non-slip-self-adhesive
  Redirect 301 /promo.php /promotional-items
  Redirect 301 /prodgeneral.html /
  Redirect 301 /vat/VAT.php /
  Redirect 301 /vat/vat.doc /
  Redirect 301 /home/samples.html /
  Redirect 301 /home /non-slip-mats-anti-slip-placemats 

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    这是因为这 2 条规则中的重定向冲突:

    Redirect 301 /home/samples.html /
    Redirect 301 /home /non-slip-mats-anti-slip-placemats 
    

    您可以看到/home 也匹配/home/samples.html URI。使用RedirectMatch 会更好,因为它具有正则表达式功能。所以使用这些规则:

    RedirectMatch 301 ^/home/samples\.html$ /
    RedirectMatch 301 ^/home/?$ /non-slip-mats-anti-slip-placemats 
    

    同样,您可以将所有 301 规则转换为使用 RedirectMatch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2013-06-28
      • 1970-01-01
      相关资源
      最近更新 更多