htaccess 301重定向整个网站但有例外

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess 301重定向整个网站但有例外相关的知识,希望对你有一定的参考价值。

我试图创建一个htaccess文件来重定向我的整个网站,除了一些例外,但我不能让它工作。我需要重定向整个事物,提供特定的重定向,并排除两个页面。以下是我的非工作样本。谢谢!

RewriteCond %{REQUEST_URI} !^/events/index.html
RewriteCond %{REQUEST_URI} !^/calendar/index.html
Redirect 301 /info/faq.html http://mynewsite.com/my-page
Redirect 301 / http://mynewsite.com
答案

你试图将mod_rewritemod_alias混合,但RewriteCond语句不能调整Redirect语句,因为它们不是来自同一个模块。

我相信你想要更像这样的东西,如果我正确理解你想要完成的事情:

RewriteEngine On

RewriteCond %{REQUEST_URI} !=/events/index.html
RewriteCond %{REQUEST_URI} !=/calendar/index.html
RewriteCond %{REQUEST_URI} !=/info/faq.html
RewriteRule ^.*$ http://mynewsite.com/$0 [R=301,L]

Redirect 301 /info/faq.html http://mynewsite.com/my-page
另一答案

我有一个类似的问题。尝试重定向整个域,但robots.txt文件除外。蒂姆的回答对我不起作用,但确实如此

RewriteEngine On
RewriteRule robots.txt - [L]
RewriteRule ^.*$ http://www.newsite.com/$0 [R=301,L]

以上是关于htaccess 301重定向整个网站但有例外的主要内容,如果未能解决你的问题,请参考以下文章

使用 htaccess 重定向整个站点

htaccess 301 重定向某些 URL 模式

htaccess 301 重定向整个目录

wordpress 和 htaccess 301 重定向没有管理员

如何将网站 301 永久重定向到另一个网站和永久链接的子类别(使用 .htaccess)

.htaccess 无扩展 url 和 301 重定向循环