301重定向,一个重写有效,另一个无效



很抱歉标题太长了。 我目前正在编写一些 301 重定向并使用 mod 重写 (Apache) 来处理它们。 目前,我尝试过的两台 301 中只有一台在工作。 这是代码:

#301 REDIRECTS
RewriteEngine On
RewriteRule ^Fox-and-Frank-home.html$ http://www.mydomain.co.uk/contact_us.php [R=301]
RewriteRule ^about.html$ http://www.domain.com/about/ [R=301,L]

关于.html正确重定向,但福克斯和弗兰克之家.html没有。 我已经尝试过使用其他名称,其他URL进行此操作,但是它不起作用。 任何帮助将不胜感激。

编辑

我已经让它在一个完全裸露的 .htaccess 文件上工作。 301重定向是否需要在其他所有事情之前位于最顶部?

你的 Fox-and-Frank 重写中没有 L(最后一个)标志,因此可能会处理其他规则,并且肯定会在 .htaccess 中(您需要使用 END 标志)。

尝试将其更改为:

RewriteRule ^Fox-and-Frank-home.html$ http://www.mydomain.co.uk/contact-us.php [NC,R=301,L]

哪里:

  • NC 使其成为不区分大小写的检查(因此狐狸和弗兰克之家会重定向至)
  • R=301 是 301 重定向(尽管你可以只输入 R假设 301 我总是亲自指定)
  • L告诉mod_rewrite停止处理进一步的规则(但因为它在 .htaccess.您可能需要改用END - 请参阅 http://httpd.apache.org/docs/current/rewrite/flags.html#flag_l)。

问候。

最新更新