エックスサーバーにインストールした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
実装されていない。実装されていないメソッドを使用した。
例として、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設定」へ進みます。
ドメイン選択画面で対象のドメインを選択し、
XSS対策
コマンド対策
などのWAF設定をOFFにしてから「確認画面へ進む」ボタンをクリックして、処理を完了してください。
これで、WordPress管理画面へ戻り、記事が正常に公開できるかをどうかを確認してみましょう。
コメントを残す