0

私が達成したいと思っていることはかなり単純です。Web サーバーのルートに開発用フォルダーがあり、ログインせずにアクセスできないようにしています。ユーザーが開発中のページにアクセスし、ログインしていない (またはログインしようとして失敗した) 場合、.htaccess ファイルはユーザーをエラー ページにリダイレクトする必要があり、それが遅れてホームページにリダイレクトされます。

これを実現するために 2 つの .htaccess ファイルを使用しています。

ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php

そして、開発フォルダーのルートにあるものは次のとおりです。

AuthType Basic
AuthName "Development Area"
AuthUserFile /home/content/44/7545744/html/_dev/.htpasswd
Require valid-user

error.php はサイトの残りの部分と同じようにスタイル設定されており、コンテンツはユーザーが経験したエラーの種類をユーザーに通知し、メタ リダイレクトが含まれていることを願っています。

これで、すでにサイトにアクセスしていて開発フォルダーに移動しようとすると問題なく動作しますが、最初にライブ サイトに移動する前に開発フォルダーへのリンクをクリックしてログイン ウィンドウを閉じると、正しく表示されます。スタイルなしでエラー ページを表示する前に、少なくともあと 5 回はバックアップしてください。

ライブ デモをご覧になりたい場合は、ionnursing.comにアクセスして、URL に/_dev/を追加してください。ログイン ウィンドウを終了すると、目的の結果が表示され、エラー ページが表示され、10 秒後にホームページにリダイレクトされます。ただし、Google Ion Nursing に移動し、_dev フォルダーへの多数のリンクから 1 つを選択します。エラー ページにリダイレクトされる前に、ログイン ウィンドウが複数回表示されます。

私は .htaccess ファイルの経験があまりないので、何か間違ったことをしていると思います。任意のガイダンスをいただければ幸いです。

クローラーに _dev フォルダーを無視するように指示する robots.txt ファイルを既に追加しましたが、検索エンジンが更新されるまでリダイレクトを機能させる必要があります。

4

1 に答える 1

1

.htaccessファイルは常にフルパスで機能します。/error.phpパスにフルパスがない可能性があります。

つまり、「/error.php」の代わりに「/path/to/error.php」を試してください。

于 2011-04-24T14:31:21.373 に答える