動的なページを静的なページに見せるURLリライトをするための.htaccessの書き方 | 在宅ネットでコツコツお金を稼ぐ

phpでページを作って、サイトを公開する時の話です。

phpでGETで渡す動的なページを作ると、 通常ですと、例えば、URLはhttp://iekasegu.work/test/test.php?year=2018

などというふうに、php以下に?以下のパラメーターがつきます。

最近では、このような?以下のパラメーターが表示されることはあまりなく、

http://iekasegu.work/test/2018

といったように、スッキリしたアドレスが好まれているようです。

?以下のパラメーターがつかない方が検索エンジンで有利に扱われるのではないか、 という話もでているので、 スッキリしたURLにしてみるのも良いかもしれません。

Apacheのmod_rewriteというURLリライト機能

このような短くてスッキリしたURLにするには、 ApacheのRewrite機能というものを使います。

Apacheというのは、ほとんどのレンタルサーバーに使われているもので、 すでにレンタルサーバーにインストールされています。

そのApacheの機能のひとつである、Rewriteを使えば、 スッキリしたURLにすることができます。

URLリライト機能を使う方法

このRewrite機能を使うためには、

1 Apacheのhttpd.confファイルに記入する。

2 「.htaccess」に記入する(通常はこちらです)。

というふたつの方法があります。

1 Apacheのhttpd.confファイルに記入する。

はVPSや専用サーバーを使っている方向けの方法です。 httpd.confファイルの編集ができる環境の方はこの方法が使えますが、

通常は、2 「.htaccess」に記入する。 という方法が一般的で、簡単です。

ほとんどのレンタルサーバーで、このURLリライトの機能はonになっていますが、 ごくまれに、onになっていないレンタルサーバーがあるようです。

そのため、レンタルサーバーをレンタルする前に、 「mod_rewriteは使えますか?」 「URLリライト機能は使えますか?」 などと問い合わせてみるのが良いかもしれません。

.htaccessでのURLリライトの書き方

さて、実際に「.httacces」を記入してみます。 この記入方法が非常に難しいんです。 以下のようなサイトが参考になりますが、

Apacheのmod_rewriteモジュールの使い方を徹底的に解説

私も完全に理解てきているわけではありません。 とりあえず、何度も繰り返して、やっと動くようになりました。

以下のようにやるとURLリライトが使えます。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^test/(.*)$ test/test\.php?year=$1 [L]

おおまかに説明しますと、1行目の「RewriteEngine on」でURLリライト機能をonにします。

2行目の「RewriteCond %{REQUEST_FILENAME} !-f」はファイルでないとき。 3行目の「RewriteCond %{REQUEST_FILENAME} !-d」はディレクトリでないとき。

2行目、3行目はこういう慣用句だと思って、書いておきます。

4行目のRewriteRule ^test/(.*)$ test/test\.php?year=$1 [L] で実際に、置き換えるルールを書きます。

ちなみに、 いつもの.htaccessの書き方のルールとして、 改行コードは「LF」にして、 最後の一行に改行だけの行をつけておきます。 文字コードはS-JISで大丈夫のようです。

レンタルサーバーのindex.htmlやindex.phpなどが置いてある場所に、 htaccess.txtをアップロードして、そのファイルを.htaccessにリネームしてパーミッションを確認して、作業は完了です。

これで、 ブラウザには、

http://iekasegu.work/test/2018

と入力しているのに、実際には

http://iekasegu.work/test/test.php?year=2018

のページが表示されるようになります。

このURLリライト機能は、とても難しいのですが、 上手にできたら、あとは、スッキリしたURLを表示させることができます。

(2018/4/3)

トップページ

その他のコラム

コンテンツ

トップページ