• 締切済み

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

  • .htaccessのAuthNameについて

    CentOS5.2にてWWWサーバを運用しています。 一部領域にベーシック認証をかける必要があり、.htaccessと.htpasswdを設定し、ベーシック認証自体は上手く出来たのですが、 IDとPASSWORDの入力を即すダイアログのメッセージを変更したいと思ってます。 メッセージは.htaccessのAuthNameに設定すると聞いていましたので、仮に"Enter your ID and Password!"を設定すると IE7では、「Enter your ID and Password! のサーバー www.aaa.com にはユーザー名とパスワードが必要です。」 また、Firefox3では、「http://www.aaa.com の "Enter your ID and Password!" に対するユーザ名とパスワードを入力してください」 Safariでも「このページを見るには、サイト"www.aaa.com:80"上の領域 Enter your ID and Password!にログインが必要です。」 といったメッセージになってしまいます。 出来れば、余計なメッセージをなくして、どのようなブラウザに対しても"Enter your ID and Password!"だけを表示させたいのですが、 良い方法を教えてください。

  • .htaccessを設置したが閲覧できない

    ホームページのproducts.htmlというページにあらかじめ認証しておいた、IDとパスワードを入力しないと、閲覧できないようなページを作成しようとしているのですが、うまくいきません。 index.htmlからproducts.htmlのリンクをクリックすると、IDとパスワードが入力できる小さなウィンドウが開くのですが、.htpasswdにあらかじめ登録しておいたIDとパスワードを入力しても、なんの変化もなく、続けて入力をすると、「Authorization Required This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.」というエラーページになってしまいます。 いろいろ試したのですが、うまくいきませんので、改善方法をご教授頂ければと存じます。 【.htaccessの記述】 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes AuthUserFile /products/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow ※テキストで記述をして、サーバにアップするときにffftpソフトで.htaccessに変換しています。(アスキー転送モード) 【.htpasswdの記述】 123:○○○○○○ ※テキストで記述をして、サーバにアップするときにffftpソフトで.htpasswdに変換しています。(アスキー転送モード) ※パスワード生成元:http://www.luft.co.jp/cgi/htpasswd.php 【サーバ】 ゼロ・ウェブ・サーバ ※無料のレンタルサーバで.htaccessが使用可能との記載がありました。 【ホームページの階層(ディレクトリ)】 index.html productsフォルダ━products.html processingフォルダ━processing.html ※実験用のためhtmlページは3ページしかありません。 ※.htaccessと.htpasswdのファイルはproductsフォルダにアップしています。

  • .htaccessで500エラーが出ます

    はじめまして。 アクセス制限をかけたいディレクトリに.htaccessを作成し、 アップをすると500エラーでページが表示されません。 記述した内容は下記で ---------- <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /files/htaccess/pw/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow ---------- /files/htaccess/pw/.htpasswd のディレクトリに.htpasswdをアップしました。 500エラーの原因をいろいろ調べて、 転送モードはアスキー、文字コードはUTF-8、パーミッションは604、 最後の行に改行を入れるなど、 すべて実践してみたのですが、 一向にページが表示されません。 試しに.htaccessのファイルを削除するとページは表示されます。 自分ではもう全くお手上げ状態なので、 どなたか原因がわかる方がいらっしゃったら 教えていただければと思います。 よろしくお願いします。

  • htaccessを他サーバーにコピーしたら正常に機能しないのですが…

    A社のサーバーで.htaccessでパスワードによるアクセス制限をしていました。 B社のサーバーでも同じパスワードで制限をかけようと、A社のサーバに入れてあるものと全く同じ.htassess、.htcomment、.htdircomm、.htpasswdを制限目的のディレクトリに入れたのですが、その制限エリアのファイルにアクセスしようとすると、パスワードとユーザ名は聞いてくるものの、正しい情報を入れても受け付けてもらえず、3回トライすると Authorization Required This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. というエラーになってしまいます。 .htaccessに記述してある.htpasswdの位置はちゃんとB社用に書き換え、間違っていないと思うのですが…。 ちなみに、.htaccessがある場所が/public/aaa/member/内だとすると、 .htpasswdも同じところにおいてあるので AuthUserFile /public/aaa/member/.htpasswd と記述しています。 試しにA社の.htpasswdをわざと間違った場所に置いてみたのですが、それで表示されるエラーには、上記のエラーにあるAdditionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. という部分は含まれていませんでした。 一体、どこが悪いのでしょうか? 原因を思いつかれる方がいらっしゃいましたらご指摘頂けないでしょうか? よろしくお願い致します。

  • htaccessを導入したいのですが…

    サーバーのディレクトリAにhtaccessを設置したとします。 そのAの中にはファイルF1、ファイルF2も設置します。 htaccessの目的はパスワード制限をかけたいからですが、ここで質問です。 一度パスワード認証でF2にアクセスしたら、F1とかF3にページ移動する際にも、逐一パスワード認証が必要なのでしょうか?それとも、認証されたらAの中のファイルは認証無しで自由にアクセスできるのでしょうか? 銀行や証券会社のメンバーページは、一度ログインすれば自由にページ移動できますよね…。 それと同じようなサイトを構築できればいいな…と思い、質問させて頂きました。 ご存知の方いらっしゃいましたら、よろしくお願いいたします。

  • htaccessについて

    htaccessで認証をかけたいのですが、私の思う限り(といっても知識が乏しいので限られていますが・・・)やってみても認証エラーが起こってしまいます。 下に.htaccessの中身を書きますので、間違っている点等ありましたら御指摘下さい。 AuthUserFile /home/sites/home/web/.passwd AuthGroupFile /dev/null AuthName "Please Enter Your ID and PASSWORD" AuthType Basic <Limit POST GET PUT> require user macky0225 </Limit> この.htaccessをおいている場所は/home/sites/home/web/privateです。 .passwdはhtpasswdで作成しましたので間違いないと思います。 また、過去ログなどで参考になりそうなモノがあれば教えて下さい。ヒット数が多くて捜しきれませんでした・・・

    • ベストアンサー
    • HTML
  • .htaccessの設定について

    今回新しいサイトを作成し、メンバーオンリーのページを作りました。 メンバーオンリーのページには、トップページのボタンから入る仕様です。 .htaccessを使用し、IDとパスワードを入力して入りたいのですが、設定の時点で問題があります。 index.html以外のhtmlファイルに.htaccessを設定するのがそもそも無理なんでしょうか。 ロリポップの.htaccess設定のところで、該当htmlファイルを指定しようとするとエラーになります。 初歩的な質問で申しわけありませんが、よろしくお願いします。

  • .htaccessのID/Passを含めたURL表記の方法

    .htaccessと.htpasswdを使ったアクセス制限で、 IDとパスワードをURLに内包して http://username:password@www.example.com みたいな書き方ができたと思うのですが、つながりません。 何が誤ってますでしょうか?

  • .htaccessによるユーザー認証

    FC2の無料ホームページで .htaccess のユーザー認証を試みてますが、上手くいきません。 .htaccessの内容は以下の通りで、  passというフォルダを作って、パスワードファイルを格納しています。 AuthType Basic AuthName "Input your ID and Password." AuthUserFile /pass/passwd.dat require valid-user 状況としては、エラー表示もせず何度もパスワードをきいてきます。 どなたか、お助け下さい!

  • ホームページで、

    ホームページで、 「アクセス制限つきの ページ」を作ろうとしています。 .htaccessというファイルをつくり、 「/httpdocs/passward-lock」というフォルダにファイルをおきました。 htmlファイルも、同じフォルダ内に作りました。 準備を整えて、HTMLファイルをIEから開いたら、 IDとパスワードを聞かれました。 →ということは[.htaccess]とhtmlファイルの設定までは大丈夫なのではないかと  思います。 ※password.datというファイルも同じフォルダに入れてあります。  このパスワードファイルはサンプルとして  http://allabout.co.jp/gm/gc/23780/4/にあるものを使用しました。  .htaccessファイルの内容は以下です。 AuthType Basic AuthName "Input your ID and Password." AuthUserFile /httpdocs/passward-lock/passwd.dat require valid-user   とくに問題なくできても良さそうなのですが、 パスワードを何回入力しても、まったくページに入れません。 どこかが違っているようです。 制限つきのページを作るのが初めてなので、 とても初歩的なところでつまずいているのかもしれません。 どなたか、ご教授をお願いします。 ※制限をかけずにHTMLファイルを見たら、  ちゃんとページはできたましたので、  HTMLファイルは大丈夫です。