• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定のページだけ認証をかけたい)

特定のページの認証方法に問題が発生しています

このQ&Aのポイント
  • 特定のページに認証をかける方法に問題が発生しています。
  • 認証の設定を行ったにもかかわらず、該当ページには認証がかからずにアクセスできます。
  • 使用しているサーバはロリポップのエコノミープランです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

あっと、ごめんなさい。 「※CGI もしくは SSI が正しく動作していません。」 というエラーメッセージからみて、認証の問題ではないと早合点してしまいました。 実際にlolipopのサーバーで実験してみたところ .htaccessの AuthUserFile ~ で指定する.htpasswdファイルの フルパスを間違えていると、 認証ダイアログがでた後に 「 ※CGI もしくは SSI が正しく動作していません。」 が出ました。 2回目移行は 認証ダイヤログがでないで、いきなりこのメッセージになります。 (つまり、同じ現象ですね) なお、このフルパスを私の契約サーバーの環境に合わせて正しく書き換えると、 きちんと認証後に、ページの表示をしてくれました。 #lolipopでCGIやSSIの問題ではないときも、500 ERROR時に固定で #「※CGI もしくは SSI が正しく動作していません。」 #ってエラーがでる仕様なのは、ちょっとどうかと思いますが、それはそれとして… つまり、.htaccessの AuthUserFile ~ で記載した フルパスを間違えているか、 サーバー上に .htpasswd が存在していないかのどちからでしょう。 なお、.htpasswdは存在しているが、ファイルの内容として間違えているとき (たとえば ユーザーID{コロン}のあとに 誤って平文(生の)でパスワードを書いた時は) 「※CGI もしくは SSI が正しく動作していません。」 にはならずに、何度も認証のダイアログが出てきました。 よって、、.htapsswdファイルの内容の問題は残っているとしても、 とりあえずは、.htaccessの.htpasswdファイルのフルパスの 指定ミスを解決する必要があるでしょう。

webpageyou123
質問者

お礼

ありがとうございます。出来ました。

その他の回答 (2)

回答No.2

> ※CGI もしくは SSI が正しく動作していません。 これは 認証とは別問題ですね。 (つまり認証までは 成功していると思われます)  .htaccessファイルの内容は、上述の <Files ~ </Files> だけですか? もしかして、それ以外に ロリポップで使えなくなった(?) Options +FollowSymLinks とか Option All ***** を書いているのなら、それが原因かもしれないので、 その行を試しに消してテストしてはどうでしょう。

webpageyou123
質問者

お礼

# === index.htmlなしに統一 ================================ RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://xxx/$1 [R=301,L] # === httpsに統一 ================================ RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # === 間違ったアドレスはブログトップへ遷移 ================================ RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ https://xxx/html/blog-top.html [L] # === ポジティブになるアプリの認証 ================================ <Files charge.html> AuthUserFile /var/www/vhosts/xxx/httpdocs/.htpasswd AuthGroupFile /dev/null AuthName "Input ID and Password." AuthType Basic require valid-user </Files> 上記ですべてです。 ありがとうございます。

回答No.1

<Files html/charge.html> を <Files charge.html> に変更するとどうなりますか?

webpageyou123
質問者

お礼

ありがとうございます。 確かにそのようにした所、認証画面は出てきました。 しかし、入力したところID、PWが間違っていると認識されたからか下記のメッセージの画面になってしまいました。 ※CGI もしくは SSI が正しく動作していません。 • URLに間違いがないか、再度確認してください。再読み込みしてください。 • ご利用中のユーザー様は【ロリポップ!よくある質問集】をご参照ください。 • 疑問点等ございましたら【ロリポップ!お問合せフォーム】よりお問合せください。 そして、一度でも失敗すると、何度アクセスしても上記の画面になってしまいます。 一度しかチャンスが無いのですか? またパスワードファイルには、 test:yqaAb0nkjHuBQ(PWは暗号変換済み) となっているのですが、これだけの記載があればいいのですよね。 暗号変換済みのPWは、上記ではなく変換前の文字列を入れるんでしょね。 間違ってはいないはずなのですが

関連するQ&A