- ベストアンサー
.htaccessを設置したが閲覧できない
- ホームページのproducts.htmlにはIDとパスワードを入力しないと閲覧できないページを作成したが、うまくいかない。
- クリックするとIDとパスワードを入力するウィンドウが開き、認証に登録した情報を入力してもエラーが発生する。
- htaccessの設定やhtpasswdの記述方法を確認したが、改善されないので助言を求めている。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
AuthUserFile /products/.htpasswd をサーバのフルパスにしてみるとどうでしょう? 参照URLに説明があるのですが、サーバ管理者とかじゃないと興味ないと思います(ふーんって程度でいいと思います) この設定だとサーバのトップディレクトリ(フォルダ)の直下に products ってディレクトリ(フォルダ)があって、そこの下の .htaccess を参照している気がします。 サーバは多分Windowsとは違うのですが、Windows で例えると C:¥products¥.htpasswd にパスワードファイルがあるように思っている。 でも、実際には C:¥お客様フォルダ¥会員ID¥public_html¥products¥.htpasswd のような雰囲気で構成されているはずです。(例なので実際とは違いますよ) お客様のホームディレクトリとか、public_html の位置とか、そんな感じで説明が届いていたりしませんか?もしくはFTP接続したときに画面のどこかに表示されているとか? (# ftp の場合はシステムファイルをユーザに隠すために、トップディレクトリの位置を変えることが多いので、あてに出来ないかもしれません) なので、 AuthUserFile /なんか指定されたフォルダ/products/.htpasswd と書き換えてみてください。 パスワードの作成は、作成されたURLのもので大丈夫でしょう。
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>続けて入力をすると、 >(略) >というエラーページになってしまいます。 これは「.htpasswdによるBasic認証を行ったが、入力されたユーザーIDかパスワードのどちらか、または、両方が間違っている」って言うエラー。 >※パスワード生成元:http://www.luft.co.jp/cgi/htpasswd.php >【サーバ】 >ゼロ・ウェブ・サーバ 「貴方がパスワード生成に使用したサイトのパスワードエンコード方式」と「ゼロ・ウェブ・サーバが採用しているパスワードエンコード方式」が「同じ方式である」と言う保証はどこにもありません。 ある方式で「ABC」からパスワードをエンコードしたのが「j$s8@h」になったからと言って、すべての方式で「ABCからパスワードをエンコードするとj$s8@hになる」とは限りません。 パスワードのエンコード方式は、OSが数種類あり、WEBサーバープログラムも数種類あるので、方式が幾つもあります(エンコード方式は「この方式に統一しよう」と言う事になってはいるが、無料で使える古いOSや無料で使える古いサーバープログラムを使っている場合、統一されてない古い方式になっている可能性がある。無料のレンタルサーバーでは特に) また、ゼロ・ウェブ・サーバが「.htaccessが使用可能である」と言っていても「.htpasswdも使用可能である」と言う保証もありません。 もし、ゼロ・ウェブ・サーバで.htpasswdが使えるのだとしたら、必ず、ゼロ・ウェブ・サーバのサポートページかどこかに「パスワードのエンコード文字列の生成ページ」がある筈です。 ゼロ・ウェブ・サーバで使用する.htpasswdのエンコード済みパスワードは、ゼロ・ウェブ・サーバ上ででしか生成できないと思って下さい。
補足
早速のご回答ありがとうございます。 当方手探りでホームページを作っているので恥ずかしい限りですが、少しずつ理解してきました。 ゼロ・ウェブ・サーバにて調べたところ、.htaccessの利用方法はこちらと記載があり、下記URLにたどり着きます。 http://htaccess.pasoa.com/pass.htm このURLに.htpasswdの文字列生成ページがありましたが、「暗号化パスワード作成」ボタンをクリックしても生成されていないようです・・・・
お礼
ご回答ありがとうございます。できました! ご指示のとおり、サーバ管理人に問い合わせたところ、フルパスをご指摘いただき、先ほど試したところ、問題なく機能致しました。(しかもサーバの管理ページに自分のフルパスが載っているのに見落としていました・・・。)