【wordpress】パーマリンクにindex.php、カスタム構造で404エラーの原因。

あくろ
こんにちは!今回はwordpressでよくあるトラブルをご紹介します。

パーマリンクって本当に厄介ですよね・・・

「パーマリンク 変更 404」とか「パーマリンク カスタム形式 エラー」なんてワードで検索すると解決法がたくさん出てくるのですが、ちょっとそれでは解決できなかったので記事にしてみました。分かってみれば1ボタンで解決できました・・・(笑)

PHPの実行タイプがNginxになっていた。

フレンドサーバーだとPHPの実行タイプをApache(アパッチ)とNginX(エンジンエックス)どちらか切り替えられるんですが、NginXの場合パーマリンクの設定がデフォルトでしか効かないようです。

 

PHP実行タイプをApacheにしたら即、直りました(笑)

 

エンジニアの方々は当たり前の事なのかも知れませんが、案外こういった小さな事でつまづく事って多いような(汗)

小太郎
レンタルサーバーさんも注意書きしてくれたらいいのににゃ

 フレンドサーバーでのPHP実行メソッド変更方法

初心者さん用に手順をご紹介します。
フレンドサーバーのphp設定のスクショ

ドメイン設定ページの矢印の項目をクリック。

フレンドサーバーのphp設定のスクショその2

矢印をクリックでドロップメニューが開きます。そこでFastCGI+Apacheを選択してください。

変更後パーマリンクを設定すると自動的に.htaccessファイルが生成されきちんとページにリダイレクトされるようになります。

そもそもnginXでは.htaccessファイルが利用できないようです。

今回の場合、パーマリンク変更で記事ページが404エラーになる原因はnginXを使用していたため.htaccessが使用できなかったのが理由です。

nginXの方がサーバーソフトウェアとして優秀な部分もありますが、興味のある方は適用する前に情報を集めることをおすすめします!

そもそもApcheとかnginXとは何なのか?

サーバーを構築するためのオープンソースなWebサーバーソフトウェア(HTTPサーバー)です。

Apacheが1995年に登場し、nginXが2004年に登場しました。

特徴としては、

nginxの方が、処理が軽く、大量のリクエストを処理するのに向いている。

nginxの方が、設定ファイル(nginx.conf)がApacheと比較してもより直感的で柔軟に設定を行うことが可能。

nginxは、CPUリソースがたくさん必要な処理には向いていない。処理時間が長くなる処理を実行した際、そこでプロセスがブロックされてしまい処理能力が落ちてしまう。

ということは、静的なHTMLの処理はnginXの方が早いという事なので、wordpressでの簡単なサイトならnginXを採用する方が表示速度が早くなるという事ですね。

実際、ニコニコ動画、2ch、PixivなどのサイトもnginXを採用しているようです。

nginXでパーマリンク構造を変更する方法

早いとなるとnginXを使いたくなりますよね。

設定方法を公開しているサイトさんがいくつかありましたのでまとめてみました。confファイルを編集することで404エラーを回避できるようです。パーマリンク内にindex.phpが挿入されて困っている方もこれで解決できるようです。

nginXの方が設定も簡単なようなので慣れればnginX一択になりそうですね!

小太郎
サイトの動作が早くなればみんなハッピーにゃ

参考サイト

 

コメント欄

メールアドレスが公開されることはありません。

メニュー