• 締切済み

htaccess

ホームページを開設しまして.htaccessでアクセス制限をかけています。メンバーとそれ以外を分けたいと思いパスワードが違っていたら(またはパスワードがわからなければキャンセルをクリックして)違うページに飛ばせたいのですがそのやりかたが解りません。(404では無く指定のページに飛ばせたいのです。) また、"please your ID and password"の部分を2行にして"IF you not member,please push cancel"と言う文字を追加したいと思っております。 どの様にしたらよろしいのでしょうか?宜しくお願いいたします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

httpサーバーの種類くらい書いた方がよいですよ。 Basic認証の場合、ログイン時のダイアログ自体はブラウザに依存するので、 AuthNameで多少カスタマイズができる以外はあまり期待はできません。 別な認証方法や認証ページを作ればログイン画面は調整ができそうですが。 それと違うページに飛ばすのは.htaccessに ErrorDocument 401 /login.htm など表記することになります。 ただ、login.htmは認証外のページになければそれ自体にアクセスができない のでページ構成には気をつける必要があるでしょう。

abapuri
質問者

お礼

ご回答ありがとうございます。 Apache2でwebサーバを運用しています。 「.htaccessにErrorDocument 401 /login.htmを記載」 ですね。勉強になりました。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

認証で弾かれた場合には401のエラーですから、ErrorDocumentで401を違うページにすればいいのでは?他のエラーでは使われませんから>401。metaタグで飛ばすhtmlとかLocationヘッダで飛ばすphpスクリプトにしてもいいでしょう。 #ただし、401用のエラーページ自体を認証が必要な位置に置かないように(汗 なお、"please your ID and password"の部分はAuthName(realm:認可領域)の名前を示す部分ですから、英数字記号のみで構成すべきです(とApacheのドキュメントにも書いてあったと思います)。

abapuri
質問者

お礼

ご回答ありがとうございます。 今PHPなど勉強しています。 色々ためして見ようかと思っております。

関連するQ&A

専門家に質問してみよう