一尘不染

.htaccess 301单页重定向

php

重新设计网站后,我需要重定向几个页面。一切都在同一个域中,只有几件事已被重组和/或重命名。它们的形式为:

/contact.php

就是现在:

/contact-us.php

使用.htaccess文件,我添加了这一行,这是我最推荐的行:

RedirectMatch 301 /contact.php /contact-us.php

这通常很好-它可以完成工作-问题是,它还可以重定向:

  • /team1/contact.php
  • /non-existant-folder/contact.php

有没有一种方法可以指定我只想重定向root中的contact.php?


阅读 364

收藏
2020-05-29

共1个答案

一尘不染

RedirectMatch使用与URL路径匹配的正则表达式。而您的正则表达式/contact.php仅表示
包含的所有URL路径,/contact.php_而不仅仅是
_表示确切的URL路径/contact.php
。因此,请使用锚点作为字符串的开头和结尾(^$)

RedirectMatch 301 ^/contact\.php$ /contact-us.php
2020-05-29