2016-05-04 11 views
1

これは非常に基本的なものになるだろうが、私は今それを手にしている時間を無駄にしている。Apacheリダイレクトが原因でinifiniteループが発生する

私が作ったunder_construction.htmページにリダイレクトするために、そのページのすべてのページを欲しいと思っています。

私は、以下の2つのルールを、私の.htaccessファイルと私のhttpd.confの両方で試してみました(私は両方ともServerAlias /キャッシュ設定などの他のルールを持っているので、 )。

<Directory "home/xxxx/test"> 
     AllowOverride All 
     Options None 
     Order allow,deny 
     Allow from all 
</Directory> 

<VirtualHost *:80> 
     DocumentRoot /home/xxxx/test 
     ServerName www.test.com 
     ServerAlias test.com 
     Redirect 301/http://www.test.com/under_construction.htm 
</VirtualHost> 

そして: -

RewriteEngine On 
RewriteCond %{REQUEST_URI} !=/under_construction.htm 
RewriteRule^/under_construction.htm [R=301] 

これらの両方だけでどちらかのホームページ上のApacheのテストページと(建設・ページを含む)他のすべてのページに404を得るために私を引き起こすかは、それが原因リダイレクトが多すぎるためにブラウザエラーが発生しました。

誰かが私の愚かさを修正してください!事前

+0

すべてをunder_construction.htmにリダイレクトしますか?そうですか? –

答えて

0

おかげで、メインディレクトリの.htaccessファイルに次のコードを入れてください:

RewriteEngine on 
RewriteRule (.*)$ path/to/under_construction.htm 

は、例えばメインディレクトリからあなたがすることによって起動せずにパスを記述していることを確認してください/とパス開始あなたがwwwディレクトリとunder_construction.htmにいる場合 パスはこのようなwww /フォルダ/フォルダ/ under_construction.htm ので、このようなパスを書き込みます.Htaccessはこのようなパスを書き込みます

RewriteRule (.*)$ folder/folder/folder/under_construction.htm 

パスの有無は問題ありません。サブディレクターの.htaccessルールがある場合を除き、すべてをunder_construction.htmにリダイレクトします。

+0

こんにちは、あなたの答えをありがとう。 RewriteRule(。*)$ under_construction.htmにあるRewriteEngine以外の新しい.htaccessファイルを追加すると、ホームページがApacheテストページに移動し、他のすべてのページ404 – Miles

+0

変更後にApacheを再起動し、ブラウザからキャッシュしてもう一度やり直してください –

+0

これを試してみます:/私は毎回変更した後にApacheを再起動し、常に新しいプライベートブラウジングウィンドウを使用し、別の外部IPでもPCで試しました。私は過去に何度もこのようなことをしてきましたが、今回は何が欠けているのか分かりません。 – Miles

関連する問題