Htaccess转发:如何重定向除根页面之外的所有内容

时间:2013-11-02 22:24:02

标签: regex apache .htaccess mod-rewrite

您好快速提问(关于htaccess):我希望能够让我的网站轻松维护。

我希望将所有转发到/maintenance/index.html ,除了根/主页。我尝试了以下方法:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^$ [NC] #Dont forward the root!
RewriteCond %{REQUEST_URI} !/maintenance/index.html$ [NC]
RewriteRule .* /maintenance/index.html [R=302,L]

然而它没有用。访问我的网站example.com仍然转发到维护页面。关于我做错了什么的任何想法?我认为它必须是“!^ $”或其他东西。

非常感谢!

1 个答案:

答案 0 :(得分:1)

这应该有效:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/maintenance/index\.html$ [NC]
RewriteRule ^.+$ /maintenance/index.html [R=302,L]

.+将确保不重定向根页。

同时确保此规则是第一条规则。