PROFILEApache2.0のrewriteモジュール当初、本サイトはHTMLファイル(*.html)で構成されていましたが、PHPのことを知るにつれ、すべてのページをPHPファイル(*.php)で作ることにしました。その場合、ファイルの中身がPHP化されてなくても問題ありません。検索エンジン等で既に上位にきている*.htmlのページが次のようなるのは嬉しくないですよね。これまで通り、ブラウザでhttp://www.arakin.dyndns.org/****.htmlとされても、問題なくアクセスできるようにする方法を紹介します。***.htmlとアクセスされても、***.phpと置き換えるために、Apacheのrewrite機能を使います。/etc/apache2/mods-available/rewrite.loadがあることを確認します。Apache2.0をインストールしていれば、きっとあると思います。rewriteはデフォルトではオフになっているので、次のコマンドで有効にします。rewriteこのコマンドにより、/etc/apache2/mods-enableにrewrite.loadというシンボリックリンクが作成されます。***.htmlを***.phpに置き換えるルールを記述するために、Apache2.0のサイト設定用ファイル/etc/apache2/sites-available/defaultを編集します。/apache2-default/1でrewrite機能を有効にします。2でトップディレクリからのベースとなるURLを記述します。ここでは、トップディレクリ以下すべて***.phpに変更したいので、こうしました。3が変換規則で、正規表現を使用しています。rewriteの詳しい説明は、下記のサイトで紹介されています。杉浦さんのページもしあるページだけ置き換えたいならば、4のようにします。4は、index.htmlをindex.phpに置き換えるための規則です。これで終わりかな?と思っていましたが、Subversionを使用しているならば、次のような設定も必要であることがわかりました。:</Location>理由はよく分かりませんが、Subverionの設定ファイル/etc/apache2/mods-availableでは、rewriteを無効にしないと、コミットが失敗するみたいです。この後、次のようにApache2を再起動します。restart私の場合、rewrite機能を/etc/apache2/sites-available/defaultで行いましたが、.htaccessでも可能なようです。試したことはありません。今回は、Apacheのrewrite機能で、ファイル名の置き換えを行いましたが、もっといい方法があるかもしれません。