2012-02-15 16 views
1

私は.htaccessを使用して別のものに私のドメインのいずれかをリダイレクトしようとしている:.htaccessファイル:認証とリダイレクトが

RewriteEngine on 
RewriteRule !^admin($|/) http://mydomain.com%{REQUEST_URI} [L,R=301] 

あなたが見ることができるように、私は「(特定のフォルダをリダイレクトする必要はありませんそのディレクトリには実際にコンテンツがあるためです。

問題は、私はこのコードでそのディレクトリ内の別の.htaccessを持っているということです。

AuthName "You must login" 
AuthUserFile /path/to/.htpasswd 
AuthType Basic 
require valid-user 

私は私のブラウザで非リダイレクトフォルダにアクセスすると、それはMYDOMAINに401.htmlページにリダイレクトします。 com。

これを修正するにはどうすればよいですか? authを必要とするディレクトリ "admin"を除いて、すべてをmydomain.comにリダイレクトしたいと思います。

答えて

0

最初のドメインの設定ファイルでR=401またはErrorDocument 401を探します。何かがカスタム401ページを設定していて、書き換えルールと一致し、ブラウザをmydomain.comにリダイレクトしています。

0

あなたのブラウザがテスト中にあなたのリダイレクトをキャッシュしている可能性があるということは間違いです。したがって、テストするときにR = 301から301を削除して、Rフラグをそのままにしておきます。したがって

RewriteRule !^admin($|/) http://example.com%{REQUEST_URI} [L,R] 

あなたのhtaccessのリダイレクトの働きに満足したら、その後(永久リダイレクトさ)R = 301にRフラグを変更します。

R = 301を使用していた場合は、ブラウザのキャッシュをクリアしてください。

関連する問題