2012-04-20 8 views
0

私のサイトがメンテナンスモードになっているとき、私は自分の.htaccessファイルを使用して、訪問者を指定されたメンテナンスページにリダイレクトします。htaccessを使用してメンテナンスモードでドメイン名を表示

コードは正常に動作しますが、アドレスバーにメンテナンスページのパスを表示する代わりに、代わりにドメイン名を表示したいと思います。したがって、訪問者がリダイレクトされたときにアドレスバーに 'www.mysite.com/maintenance.html'を表示するのではなく、代わりに 'www.mysite.com'を表示したいと思います。これは可能ですか?

私が使用してこのコード:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !/maintenance.html$ 
RewriteCond %{REMOTE_ADDR} !^[my ip address] 
RewriteCond %{REQUEST_FILENAME} !.css$ 
RewriteCond %{REQUEST_FILENAME} !.png$ 
RewriteCond %{REQUEST_FILENAME} !.jpg$ 
RewriteCond %{REQUEST_FILENAME} !.gif$ 
RewriteCond %{REQUEST_FILENAME} !.js$ 

RewriteRule $ /maintenance.html [R=302,L] 
+0

書き換えルールから** R = 302 **フラグを削除できます。 –

+0

チャームのように働いた!ありがとう! – cryssybee02

+0

話が早すぎます。部分的にしか機能しません。ドメインインデックス以外のページにアクセスしようとすると、メンテナンスページにリダイレクトされますが、「メンテナンス中」のイメージとCSSは表示されません。私は空白の白いページにテキストをunstyled取得します。 – cryssybee02

答えて

0

はあまりにも早く話を聞きました。部分的にしか機能しません。ドメインインデックス以外のページにアクセスしようとすると、メンテナンスページにリダイレクトされますが、「メンテナンス中」のイメージとCSSは表示されません。私は空白の白いページにテキストをunstyled取得します。

あなたはいくつかのことをしたいようです。あなたはルート・ページ(例えばhttp://www.mysite.com/)へのすべての要求をリダイレクトする、メンテナンスモードの下で

  1. ルートページは、だから我々は、これらに対処する必要が/maintenance.html

に何があるかが表示されます別の2つのもの:

# for #1 
RewriteCond %{REQUEST_URI} !^/$ 
RewriteCond %{REQUEST_URI} !/maintenance.html$ 
RewriteCond %{REMOTE_ADDR} !^[my ip address] 
RewriteCond %{REQUEST_FILENAME} !.css$ 
RewriteCond %{REQUEST_FILENAME} !.png$ 
RewriteCond %{REQUEST_FILENAME} !.jpg$ 
RewriteCond %{REQUEST_FILENAME} !.gif$ 
RewriteCond %{REQUEST_FILENAME} !.js$ 
RewriteRule $/[R=302,L] 

# for #2 
RewriteCond %{REMOTE_ADDR} !^[my ip address] 
RewriteRule ^$ /maintenance.html 
関連する問題