• 403エラーになる場合

    Date: 2010.03.07 | Category: WordPressの設定 | Tags:

    WordPressを実際に使ってみて、色々カスタマイズしていると、急にブログにアクセスできなくなる場合があります。
    具体的には、アクセスしようとすると「403エラー」になってしまうのです。

    20140714193652

    ちょっと専門的になってしまいますが、これは「403 ステータスコード」といって、なにかしらエラーがあった場合に、そのエラーの詳細を番号で返すんですが、そのエラーの原因が403ですよ。という意味になります。

    この403ステータスコードの意味は、そのURLへのアクセスは許されていませんよ。になります。
    よく、IDとパスワードを入力するようなページで、IDもしくはパスワードを3回間違えると、このエラーが表示されます。
    ただ、今回のエラーは、特別パスワードを必要とするページでないのに、こういったエラーが表示される・・・。

    原因と対策

    原因は、.htaccessにあります。
    WordPressをダウンロードし、解凍すると「.htaccess」というファイルがあるはずです。
    このファイルは、サーバーの設定をユーザーがカスタマイズするための機能を提供していて、普通であればサーバー管理者が設定しなければならないような場合でも、ユーザーがこのファイルを用いることによって自由に設定できるのです。
    たとえば、アクセス制限をしたり、CGIを動かしたり・・・。

    詳しい説明は省きますが、どうもWordPressの設定を変更すると、場合によってこの「.htaccess」が書き換えられるらしくて、それが原因でサーバーが「403ステータスコード」を返すようなのです。

    その設定というのが、「設定」の中にある「パーマリンク設定」です。
    WordPressでは初期設定だと、各記事へのページは、

    http://wordpress.f-mobile.org/?p=123

    というような、URLだけではどんなページか判断できないようなURLになります。
    「?」は、CGIやPHPといったプログラムに「値」を渡すための記述で、上の場合「p」という項目が「123」ですよ。というのをサーバー側に渡しています。

    一時期、スパムサイトがはやったときに、CGIやPHPだと簡単に数万ページのサイトを構築できるということもあって、こうした値を渡すURLがスパムサイトではやりました。

    そのせいか、SEO的にこうした値を渡すようなURLは避けた方がいいんじゃないか。という都市伝説がまことしやかにささやかれるようになりました。
    実際には、検索サイト(googleとか)は、そうしたURLでスパムサイトかどうかを判断しているわけではないんでしょうけれど、ある程度URLからページの内容を判断できた方が良さそうです。
    そこで、先ほどのように「設定」の「パーマリンクの設定」で変更しようとしたところ、このエラーが出るようになったと・・・。

    原因は、「.htaccess」に「Options +FollowSymLinks」という一行がないのが原因です。

    対策

    ただ、この一行がなくても動作しているサーバーも多い(というか、普通は動作すると思います)ので、私のサーバーのようにエラーが出てしまった場合、この「.htaccess」を開いて、

    Options +FollowSymLinks

    という一行を加えてください。

    FTPを使っている場合

    FTPを使っている場合、場合によってはこの「.htaccess」というファイルが見えない可能性があります。
    もともとファイル名の最初に「.(ドット)」がつくファイルは、その存在を隠す意味もあるので、場合によってはFTPの画面には表示されないかもしれません。

    その場合は、Windows上で「.htaccess」をつくり、アップロードしてください。

    htaccessの内容