我正在尝试创建一个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
答案 0 :(得分:16)
您尝试将mod_rewrite
与mod_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]