パーマリンク設定で404。
mod_rewriteが有効じゃないと発覚した時。

WordPressでブログなりWEBサイトなりを作る時にとっても重要なのがパーマリンク設定です。ビジネス目的でWordPressを使う場合、このパーマリンク設定を行わない人はほぼいないと思います。
 
私は今月3件のWordPressを使ったサイトを作りましたが、そのすべてで勿論のこと「パーマリンク設定」をしています。 
 
が、その中で1件、どうしてもパーマリンク設定ができなかった案件がありました。

 

どういうことが起こったのか。

まず、普段通りに、作り始めたからなるべく早い段階でパーマリンク設定を行いました。
固定ページを作り、見てみようとしたその時です。
 
「404 not found」

おいおいちょっと待ったんさい。not Foundって。

でもこの時点ではあまり動じませんでした。「あ、htaccess更新しなかったわ」とすぐに気づいたからです。

 

設定によっては.htacessの更新が必要

パーマリンクを設定したら、.htaccessを更新しなければなりません。FTPでWordPressをインストールしたディレクトリを確認します。
 
ほら〜。.htaccessないじゃ〜ん。
パーマリンクの設定をする前は、ここに.htacessはありません。でも設定後は自動で作られる場合もありますが、設定によっては自分自身で作らなければなりません。
 
ちなみに書く内容はこんな感じ。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

RewriteBaseとRewriteRuleはWordPressを設置した場所によって書き換えます。
例えば「 http://www.example.com/blog 」という場所に設置したとしたら、こんな風に書きます。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

 
で、FTPにアップします。
これでパーマリンクの設定終わり:-))))と・・・・
 
・・・なりませんでした。

一瞬、仕事をやめようかと思いました。

と、言うのは大袈裟です。本気ではありません。ですが打たれ弱い私は一瞬「こんなことも解決できない私は人様からお金を頂戴してはいけない!」と10秒程度は考えました。10秒後から、解決策を探すわけですが。
 
困った時は、検索するに限ります。自分自身で他に明確な原因が思いつくのであればそこをチェックするのも手かもしれませんが、「あれ〜?おかしいなぁ」くらいに思っていたら、手当たり次第ファイルを確認するよりもググった方が頭がクリアになります。考える力を使うより、判断する力を使った方が、人間冷静に対処できるもんです。
まずはダイレクトに「パーマリンク not found」と検索しました。
すると、こんな記事を発見。→パーマリンクの変更で404エラーになります。

サ〜ッと読んでいたら・・・

サーバーは mod_rewrite に対応しているか?

コメントに「サーバーは mod_rewrite に対応している。」と言うコメントがありました。
 
ま・・・さか・・・私が今触れているサーバー・・・mod_rewriteに対応していないのでは・・・・。
私は自分が生業にしている仕事柄、本当にさまざまなレンタルサーバーをお客様からお預かりします。安い・有名・高いけど多機能・いじれる・いじれないけど安心、レンタルサーバーも十人十色ですが、今まで幸いにもmod_rewriteが使いないサーバーに出会うことはありませんでした。

 

mod_rewriteって?

Apache側で要求されたURLを書き換えたり、リダイレクトしたりしてくれるモジュール。

書き換えルールは正規表現パーサに基づいている。

apache 1.3系 には標準で含まれている。
 
出典:Hatena Keyword

 
もう一度.htacessの中身を見てみましょう。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 
『IfModule mod_rewrite.c』の部分、日本語で訳すとこうなる・・・のかな・・・。『もし mod_rewrite が使えたら』みたいな?
 
つまりパーマリンク設定をする際に必要な.htaccessはmod_rewriteが使えることを前提にしているのです!

 

とにかくmod_rewriteが使えないか確かめます

先にも書きました通り、いろいろなレンタルサーバーを触ってきましたが、mod_rewriteが使えないレンタルサーバーは初めてでした。そして、そんなサーバーですので、当然ながらmod_rewriteが有効か確認できる場所までいじることができません。
 
でも私は基本的に自分自身を信じていません。まだ「私が間違えてる、きっと何か見落としている」と思っています。と言う訳で、mod_rewriteが使えるのか、簡単な.htaccessを作ってみます。
 

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ http://cquery.net/blog [L]
</IfModule>

 
これをこのままコピペして.htaccessを作り、ご自身のルートディレクトリにアップしてホームページにアクセスしてみてください。
 
もしもこのブログに飛んできたとしたら、mod_rewriteは有効です。そしてごアクセスありがとうございます(笑)もしも飛ばなかったらmod_rewriteは有効ではありません。
 
私は何度も申し上げますが基本的に自分を信じていないので、クセがあって使いづらいと有名なドメインキングさんで試してみました。(使い易さは人それぞれですが、WordPress向きではないと思います/汗)が、普通に飛んできたので、@nifty ビジネスホスティングさんはmod_rewriteが使えないで結論付けさせてくださいませ。

 

mod_rewriteが使用できないサーバーでのパーマリンク設定を可能にするプラグインがあるらしい

私はまだ試していないので、実際のところどうかわかりませんが、こんなプラグインもあるようです。
 
mod_rewriteが使用できないサーバーでのパーマリンク設定>>>PCとWordPressの小技 様

 

パーマリンク設定ができないサーバーをお使いのお客様の為に行ったこと

結局、やりたい事ができないのでは、作りたいWEBサイトを諦めるか、作れる環境を用意するしかありません。今回私がご提案したのは「サーバーを替える」ことでした。
 
@Niftyが決して悪い訳ではありません。むしろ、ユーザーが変なところまでいじらないようにしっかり構築された安全重視のレンタルサーバーであるとも言えます。ですが、今回お付き合いさせていただいているお客様は「ランニングコストが気になる」「性能面で長けているのかも不明だし、気にしようにもどの程度の性能が必要かわからない」とのことでした。ですので、思い切ってサーバーのお引っ越しをご提案しました。
 
ドメイン管理についても新サーバー関連会社へ管理を移管、請求面でもお客様が混乱しないように丁寧にご説明しご納得いただきました。WEBサイトを作る事は勿論ですが、WEBサイトはあくまでも表舞台のキャラクター。サーバーなどやそれに伴う契約などの事務手続きなど、目に見えない部分が潤滑なWEBサイト運営のネックになっていることも少なくありませんので。
 
ただ、面倒ですよね、レジストリトランスファー(笑)。何度やっても慣れません。
 


中小企業・個人事業主様向けオリジナルデザインのホームページ制作 WEB屋くぇりのお手伝いできること

ホームページ制作は、コーディング技術やデザインセンスのほかにインターネットに関するさまざまな知識が必要です。
デザインしたり、プログラムを書いたり、どんな機能が必要か考えたり。
そして一番大変なのが、ホームページに掲載する内容を考えることです。

ただ美しいデザインのホームページを作るだけでは、なんの効果も得られない場合がほとんど。
それとは逆に情報を詰め込みすぎて伝えたい本質を見失ってしまう場合もあります。
だからお客さまが「ホームページを作ってなにをしたいのか」を明確にするところからご一緒させていただきます。

「どのプランを選べばいいの?」と思われたら、お気軽にお問い合わせください。
お客さまのご予算や状況にあったプランをご提案し概算でお見積もりいたします。
お見積もりは勿論無料です。
『くぇり』はお客様の疑問にお応えしながらホームページの方向性を一緒に作り上げていくのが得意なんです。

4つのプラン以外制作も承っております。
詳しくは価格表をご覧ください。

クリックするとメニューが見えるよ