.htaccess 301重定向单页

Dan*_*Dan 55 php .htaccess seo http-status-code-301

重新设计网站后,我有几页需要重定向.一切都停留在同一个域上,只有一些东西被重新组织和/或重命名.它们的形式如下:

/contact.php

就是现在:

/contact-us.php

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

RedirectMatch 301 /contact.php /contact-us.php
Run Code Online (Sandbox Code Playgroud)

这很好 - 它完成了工作 - 问题是,它还重定向:

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

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

Gum*_*mbo 83

RedirectMatch使用与URL路径匹配的正则表达式.而你的正则表达式/contact.php只意味着包含/contact.php但不仅仅是任何精确的URL路径的任何URL路径/contact.php.因此,使用锚点来表示字符串的开头和结尾(^以及$):

RedirectMatch 301 ^/contact\.php$ /contact-us.php
Run Code Online (Sandbox Code Playgroud)


duc*_*lip 22

这应该做到这一点

RedirectPermanent /contact.php /contact-us.php 
Run Code Online (Sandbox Code Playgroud)


Jon*_*Jon 8

redirect 301 /contact.php /contact-us.php
Run Code Online (Sandbox Code Playgroud)

使用重定向匹配规则没有意义,然后必须编写链接以使它们完全匹配.如果你不包括你不必排除!只需使用不带匹配的重定向,然后正常使用链接