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

时间:2010-07-30 14:19:04

标签: apache .htaccess mod-rewrite redirect

我正在尝试创建一个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

2 个答案:

答案 0 :(得分:16)

您尝试将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

答案 1 :(得分:3)

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

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