エックスサーバーで501 Not Implementedエラーが出る原因と対処法

エックスサーバーにインストールしたWordPressで記事を書いていると、稀に以下のような501 Not Implementedエラーに遭遇することがあります。

このエラーは、実装されていないメソッドでのアクセスがあったことを意味します。
以下のような原因が考えられます。
対応していないメソッド(MOVE/COPYなど)を使用した。

503エラーに比べてお目にかかる機会が少ないかもなので、「なんだこのエラーは?」と思ってしまう方もいるんじゃないでしょうか。

でも、このエラーの主な原因と対象法は分かっているので、以下の内容をチェックして対処してもらればと思います。

原因はWAF

エックスサーバーでXSS対策などのWAFが有効になっていて、本文などに特定の文字列が入った状態で記事が更新されたときに、501エラーが表示されるようです。

どんな文字を入れたら501エラーが出るのか?

わたしが経験した例を紹介すると…
WordPress管理画面の記事編集ページで、https://から始まるURLを本文に貼って、記事を公開しようとしたら「501 Not Implemented」が表示されました。

具体的なURLはこれです。
https://ja.wordpress.org/plugins/ps-taxonomy-expander/

https://ja.wordpress.org/
https://ja.wordpress.org/plugins/
のURLだと、処理は問題なく通ります。

でも、
https://ja.wordpress.org/plugins/ps-taxonomy-expander/
と入れると501エラーになります。

どの文字列がWAFにひっかかっているのか?まで詳しく調べてみたところ、
https://ja.wordpress.org/plugins/ps
の段階で501エラーになるようでした。

※psを半角英数で書くと501になるので、この記事では全角英字で表記しています。

そもそも501 Not Implementedエラーとは?

エックスサーバーで501 Not Implementedエラーが出る原因と対処法

調べてみると、以下のような説明がありました。

501 Not Implemented
実装されていない。実装されていないメソッドを使用した。
例として、WebDAVが実装されていないサーバに対してWebDAVで使用するメソッド(MOVEやCOPY)を使用した場合に返される。

https://ja.wikipedia.org/wiki/HTTP%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89

「WebDAVが実装されていないサーバに対して…」と書いてあるで、WebDAVが設定できるヘテムルサーバーの方(WAF有効)で、上記URLを記事本文に入れてみると、エラーは出ないようです。

なので、この辺はレンタルサーバーの仕様に左右される部分も大きいようですね。

エックスサーバーで501エラーが出た場合の対処法

エックスサーバーのWAFをOFFにするか、上記のようにエラーで弾かれる文字列が分かっていれば使わないようにするということになります。

エックスサーバーでWAFをOFFにするやり方

サーバーパネルにアクセスして、

「セキュリティ」>「WAF設定」へ進みます。
エックスサーバーで501 Not Implementedエラーが出る原因と対処法

ドメイン選択画面で対象のドメインを選択し、
エックスサーバーで501 Not Implementedエラーが出る原因と対処法

XSS対策
コマンド対策

などのWAF設定をOFFにしてから「確認画面へ進む」ボタンをクリックして、処理を完了してください。
エックスサーバーで501 Not Implementedエラーが出る原因と対処法

これで、WordPress管理画面へ戻り、記事が正常に公開できるかをどうかを確認してみましょう。

ブログを始めるならWordPressテーマSTORKがオススメ

理由は以下の記事でまとめています。

【STORK】有料テーマ購入を迷う人にストークをオススメする7つの理由2021年版

2019年6月1日

綺麗なデザインが最初から用意されているので、「ブログを書きたい」と思った時からすぐに始めることができます。しかも、執筆に便利なツールも一通りそろっているので、「書くことだけ」に集中できるという、ブロガーにとってはとても魅力的なテーマです。

是非STORKを試してみてくださいね★

関連記事

コメントを残す