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

问题描述 投票:5回答:2

我试图创建一个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
apache .htaccess mod-rewrite redirect
2个回答
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

3
投票

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

RewriteEngine On
RewriteRule robots.txt - [L]
RewriteRule ^.*$ http://www.newsite.com/$0 [R=301,L]
© www.soinside.com 2019 - 2024. All rights reserved.