.htaccess 301 单页重定向

2022-08-30 09:43:54

在网站重新设计后,我有几个页面需要重定向。所有内容都保留在同一个域上,只是对一些内容进行了重新组织和/或重命名。它们的形式如下:

/联系人.php

现在是:

/联系我们.php

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

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

这基本上没问题 - 它完成了工作 - 问题是,它也重定向:

  • /team1/contact.php
  • /不存在的文件夹/联系人.php

有没有办法指定我只想重定向根目录中的联系人.php?


答案 1

RedirectMatch 使用与 URL 路径匹配的正则表达式。您的正则表达式仅表示包含 /contact 的任何 URL 路径.php而不仅仅是任何完全属于 /contact.php 的 URL 路径。因此,将锚点用于字符串的开始和结束( 和 :/contact.php^$)

RedirectMatch 301 ^/contact\.php$ /contact-us.php

答案 2

这应该可以做到

RedirectPermanent /contact.php /contact-us.php 

推荐