エックスサーバーのアクセス制限が効かない|対象フォルダーと認証状態の確認手順

アクセス制限が効かないときにフォルダーと認証状態を確認する記事のアイキャッチ

エックスサーバーでアクセス制限を設定したのに、いつものブラウザーで開くとそのままページが見える。これでは、ほかの人にも見えているのか不安になりますよね。

認証画面が出ない原因には、ブラウザーが以前の認証情報を使っている場合と、設定したフォルダーが確認中のURLに対応していない場合があります。入力画面の有無だけでは、設定が失敗したとは判断できません。

この記事では、まず認証していない状態で確認し、必要な場合だけ対象フォルダーとユーザー設定を見直す手順を解説します。ページだけでなく画像のURLも確認し、意図した範囲を制限できているか判断しましょう。

目次

認証状態と症状の確認

エックスサーバーの「アクセス制限」は、指定したフォルダーへの閲覧にIDとパスワードを求めるBasic認証(ベーシック認証)です。WordPressの管理画面へのログインや、投稿のパスワード保護とは別の仕組みです。

一度認証すると、ブラウザーが同じ認証範囲へのアクセスに認証情報を再利用することがあります。まずは、そのサイトのID・パスワードをまだ入力していない「未認証」の状態で確かめます。通常の新しいタブや再読み込みだけでは、認証状態が切り替わるとは限りません。

同じ保護対象URLでも、認証済みのブラウザーでは入力なしで見える場合があり、未認証ではIDとパスワードが必要になる比較図

同じURLにアクセス制限が正常に働いている場合の比較です。認証済みのブラウザーでは、入力画面が出ずに閲覧できることがあります。

STEP
確認するURLを控える

制限したいページの完全なURLをコピーします。HTTPSで開き、転送される場合はアドレスバーに最後に表示されたドメインとパスも確認してください。パスは、ドメインに続く「/test/」などの部分です。

STEP
シークレットウィンドウをすべて閉じて開き直す

PC版Chromeでは、開いているシークレットウィンドウをすべて閉じてから、開き直します。通常のウィンドウ右上のメニューで「新しいシークレット ウィンドウ」を選んでください。一つでも残したまま別のシークレットウィンドウを追加すると、認証状態が引き継がれることがあります。

シークレットウィンドウで別の作業をしている場合は、作業を終えてから閉じます。閉じられない場合は、そのサイトのBasic認証にまだ使っていない別のブラウザーでも確認できます。

STEP
認証前と認証後の表示を比べる

控えたURLを直接開きます。認証画面が出たら、いったんキャンセルし、保護したい内容が表示されないことを確認してください。このときの「401」は、認証されていないことを示すエラーです。その後、同じURLを開いて正しい認証用IDとパスワードを入力し、目的の内容が表示されるか確認します。

結果に応じて、次に読む箇所を選んでください。

HOAI Point

いつものブラウザーで見えることと、未認証の人に公開されていることは同じではありません。未認証の状態から制限を確認できたら、原因探しのためにON・OFFやパスワードを変更する必要はありません。

認証情報の再利用についてはApacheの認証の説明(英語)、Chromeでの開き直し方はGoogle公式のシークレットモードの説明を参照できます。

対象フォルダーとURLの照合

アクセス制限の対象は、サーバー内にある実際のフォルダーです。管理画面ではフォルダーを「ディレクトリ」と表記しています。まず対象ドメインを合わせ、その中のどこに設定したかを確認します。

public_htmlからの位置を合わせる

エックスサーバーでは、通常、対象ドメインの「public_html」がWebサイトの公開ファイルを置く場所です。静的なファイルを置いた例なら、「example.com/public_html/test/index.html」は「https://example.com/test/index.html」に対応します。URLにpublic_htmlを含めない点に注意してください。

public_html内のtestフォルダーとその配下が制限範囲で、外側のimages/photo.jpgは別の範囲になる図

実フォルダーの範囲を示す説明図です。testに設定した制限は通常その配下に引き継がれますが、外側に置いたファイルまでは含みません。

「test」フォルダーに制限をかけた場合、通常はその中のページ・画像や子フォルダーも対象です。一方、「public_html/images/photo.jpg」のようにtestの外にある画像は、その制限の対象外です。制限したページに表示されている画像でも、置き場所が同じとは限りません。

子フォルダーに独自の設定がある場合や、転送・URLの書き換えがある場合は、表示URLだけから適用範囲を断定できません。ファイルの置き場所と、実際に開くURLの両方を確認します。

フォルダーの見方に迷う場合はエックスサーバーのファイルマネージャーとpublic_htmlの見方、標準の構成はエックスサーバー公式の初期フォルダ構成で確認できます。確認のためにファイルを移動・削除する必要はありません。

WordPressの記事URLと実フォルダーの違い

WordPressの記事URLと実フォルダーは同じとは限らない点にも注意が必要です。記事URLが「https://example.com/news/」でも、サーバー内に「news」という実フォルダーがあるとは限りません。WordPressはパーマリンクの設定に応じてURLを処理するため、記事のスラッグとフォルダー名をそのまま対応付けないでください。

一覧に記事名のフォルダーが見当たらなくても、同名のフォルダーを新しく作ることは解決策になりません。WordPressの設置場所と、サイト全体・実フォルダー・特定の記事のどれを保護したいかを先に整理します。パーマリンクの仕組みはWordPress公式のパーマリンクの説明を参照してください。

HOAI Point

ホームディレクトリは、そのドメインの公開領域の起点です。「範囲が分からないから」とここをONにすると、一般公開中のサイト全体の閲覧に影響するおそれがあります。保護したい範囲が決まるまでは切り替えないでください。

アクセス制限とユーザー設定の確認

ここでは新しいデザインのサーバーパネルを例に、既存設定を確認します。入口が分からない場合はサーバーパネルへの入り方と基本操作を確認してください。

STEP
対象ドメインとディレクトリを開く

サーバーパネル左側の「ホームページ」→「アクセス制限」を開きます。右上のドメイン絞り込みで対象を選び、一覧のドメイン名と現在のURLを照合してください。wwwの有無やサブドメイン、転送後のURLも見落とさないようにします。

下の階層を確認する場合は、フォルダー名からたどるか「移動先ディレクトリ」に対象名を入力して「移動」を押します。表示された現在のURLが、保護したい場所と対応しているか確認します。

アクセス制限画面で対象ドメインと現在のURLを照合する場所。撮影例の設定状況はOFF

ドメイン・現在のURL・対象ディレクトリを照合する画面です。撮影例はホームディレクトリなどがOFFの状態で、設定場所を示しています。

STEP
対象と親フォルダーの設定状況を見る

制限したいフォルダーと同じ行の「設定状況」を確認します。そのフォルダーがOFFでも、一つ上などの親フォルダーに設定した制限が引き継がれている場合があります。親子関係のない別のフォルダーがONでも、対象に制限がかかるわけではありません。

子フォルダーのOFF表示だけを見て、すぐにONへ切り替えないでください。どのフォルダーに制限を設定したかと、未認証で開いた結果を先に照合します。親にも対象にも制限がなく、新たに設定する必要がある場合は、公開中サイトへの影響を確認したうえで対象の行をONにします。

アクセス制限の設定状況とユーザー設定ボタンを拡大した画面。撮影例の設定状況はOFF

「設定状況」と「ユーザー設定」の位置を拡大した画面です。撮影例のホームディレクトリはOFFで、操作場所を示しています。

STEP
制限を設定したフォルダーのユーザー設定を確認する

制限を設定したフォルダーと同じ行の「ユーザー設定」を開きます。親フォルダーから制限を引き継いでいる場合は、親フォルダー側を確認してください。使用するユーザーIDが登録されているかを照合します。アクセス制限用のID・パスワードを使うため、XServerアカウント、FTP、WordPressのログイン情報をそのまま入力するわけではありません。

ユーザーID一覧を拡大した画面。「現在、ユーザーIDはありません。」と表示された未登録の例

ユーザー一覧を拡大して示した画面です。撮影例は「現在、ユーザーIDはありません。」と表示された未登録の状態です。

未登録なら、設定する権限のある担当者が「ユーザーIDを追加」からIDとパスワードを登録します。登録済みなのに通らない場合は、まず利用者に案内したID・パスワードと入力内容を照合し、前後の空白や大文字・小文字の違いも確認してください。

共有中のIDをすぐ削除したり、パスワードを変更したりすると、ほかの利用者が入れなくなります。値が分からない場合は管理担当者に確認し、変更が必要な場合だけ利用者への案内も含めて対応します。

旧デザインでは操作順や保存ボタンが異なります。画面が違う場合や新規登録が必要な場合は、エックスサーバー公式のアクセス制限の設定手順で、利用中の画面に対応する説明を確認してください。

ページ・画像の最終確認

設定の確認後は、保護したいURLを実際に開いて結果を確かめます。認証前は内容が見えず、正しい認証後に見えることが、そのURLの確認完了の目安です。

  • 対象のページ:最初に控えた完全なURLで確認する。
  • 子フォルダーのページ:保護対象に含める場合は、存在するページを直接開く。
  • 画像やPDF:保護したいファイルの直接URLをアドレスバーへ貼り付けて確認する。ページ内で見えるかどうかだけで判断しない。

WordPressに登録した画像なら、管理画面の「メディア」→「ライブラリ」で対象画像を開き、「添付ファイルの詳細」の「ファイルのURL」をコピーします。「URLをクリップボードにコピー」が表示されていれば、そのボタンも使えます。画像そのもののURLを使い、画像を紹介する添付ファイルページのURLと取り違えないでください。

この方法で取得できるのは、その画像ファイルのURLです。サイズ違いの画像や、CDN(配信用の別サービス)などにある画像も保護したい場合は、それぞれの実際のURLを確認します。画面項目はWordPress公式のメディアライブラリの説明も参考になります。

URLごとに未認証の状態から確認することが大切です。Chromeでは、一つのURLの確認が終わるたびにシークレットウィンドウをすべて閉じ、開き直して次のURLを確認します。先にページで認証してから画像を開くと、認証情報が再利用され、入力画面が出ないことがあるためです。存在しないファイル名で試すと404の確認になってしまうので、実在する対象を選びます。

画像だけ見える場合は、その画像が制限したフォルダーの外や別ドメインに置かれていないかを確認します。保護したいURLすべてで期待した結果が得られたら、ここで完了です。追加の設定変更は不要です。

エラーと未解決時の確認

認証画面をキャンセルしたときの401は、認証が成立していない状態です。正しい情報を入力したつもりでも401が続く場合はユーザー設定を確認します。一方、403はアクセス拒否、404は対象が見つからない状態、500はサーバー側の処理エラーです。エラーが出たことだけを、アクセス制限の成功としないでください。

エラーごとの確認先はエックスサーバー公式のエラーメッセージ一覧にまとまっています。500などを直すために、内容の分からない.htaccessを削除・置き換えることは避けましょう。.htaccessは認証やURL処理などにも使われる設定ファイルです。

未認証の別環境でも内容が見え、対象フォルダーとユーザー設定にも食い違いがなければ、独自の.htaccess設定、転送、キャッシュ・CDNなども調査対象になります。この段階では原因を決めつけて一括変更せず、次の情報をまとめてサイト管理担当者やエックスサーバーのサポートへ相談してください。

  • 制限を設定したドメイン名とフォルダー
  • 実際に開いたURLと、転送後のURL
  • 確認日時、使用ブラウザー、認証していない状態から試した結果
  • 認証画面の有無、エラー番号、ページと画像で結果が違うか

問い合わせにはパスワードを記載せず、スクリーンショットに認証情報が写っていないかも確認しましょう。

よくある質問

WordPressからログアウトすれば、未認証の確認になりますか?

それだけでは判断できません。WordPressのログインとBasic認証は別なので、WordPressからログアウトしてもブラウザーがBasic認証の情報を再利用する場合があります。Chromeではシークレットウィンドウをすべて閉じ、開き直してから対象URLを確認してください。

通常の新しいタブで認証画面が出ないのは異常ですか?

異常とは限りません。同じブラウザーの認証情報が使われることがあります。Chromeでは既存のシークレットウィンドウをすべて閉じ、開き直してから対象URLを確認します。

ページに制限をかければ、そのページの画像も保護されますか?

画像の実際の置き場所によります。制限対象フォルダーの外や別ドメインにある画像は、そのフォルダーの制限には含まれません。保護したい画像の直接URLを未認証状態で確認してください。

確認のためにアクセス制限を一度OFFにしてもよいですか?

OFFにすると閲覧できる範囲が変わるため、最初の確認としては勧めません。まず認証状態・対象フォルダー・ユーザー設定を照合します。解除が必要な場合は公開してよい内容かを管理担当者が確認してから操作してください。

まとめ

アクセス制限が効かないように見えたら、最初にブラウザーの認証状態を切り分けます。入力画面が出ないという理由だけで設定をやり直す必要はありません。

  • Chromeではシークレットウィンドウをすべて閉じて開き直し、同じURLを開く。
  • 内容が見える場合は、ドメインと実フォルダーの範囲を照合する。
  • 認証できない場合は、制限を設定したフォルダーのユーザー設定を確認する。親フォルダーの場合もある。
  • 最後に、保護したいページ・画像の直接URLで認証前後の結果を確かめる。

必要なURLで、認証前は内容が見えず、正しい認証後に見えることを確認できれば完了です。確認が取れない場合は、対象と結果を記録して相談につなげましょう。

この記事を書いた人

横畑デザイン事務所代表。Webデザイナー・プログラミング講師として、WordPressを中心としたWebサイトの制作・運用と個別指導に携わっています。実際の制作や指導で培った知識と経験をもとに、Web制作やAI活用について、初心者が迷わず一歩を踏み出せる情報を分かりやすく発信しています。

目次