CPI:CPIサーバでmod_rewriteを使用する方法

CPIサーバmod_rewriteを使用する場合は、「.htaccess」に設定が必要です。
(※シェアードプランACE01を使用)

最初の状態ではmod_rewriteを使用することができないので、
.htaccessにmod_rewriteを使用する為の設定を行います。

phpのフレームワークWordPressなどを使用する時はURLの書き換えを行いリライトするので、
mod_rewriteは必要になってくると思います。

下記にCPIサーバmod_rewriteを使用する為の.htaccess設定方法をメモします。


CPIサーバでmod_rewriteを使用する方法

ドキュメントルートに「.htaccess」を設置します。
設置した.htaccessに下記の内容を記述をします。

Options +FollowSymLinks

この一行を記述することでmod_rewriteを使用することができるようになります。
リライトルールは「Options +FollowSymLinks」の下に記述します。

また、CPIサーバでphpを使用する場合は下記の内容を.htaccessに記述をします。
この記述をしないとphpが動かないので要注意です。

※PHP 5.3.6の場合

AddHandler x-httpd-php536 .php

phpのバージョンを変更することもできます。

cpi_php_set


CPIサーバでphpやmod_rewriteを使用する際は
上記の設定を行う必要があります。

wordpress:wordpressのパーマリンク設定でエラー画面表示

wordpressパーマリンクの設定を変更しようとした時にエラー画面(403)が表示され、ページが表示されなくなりました。
パーマリンクを設定した場合、.htaccessを作成しリライトルールが設定されます。
この.htaccessファイルを削除すれば、元の画面が表示されますが、パーマリンク設定は適用されていないのでパーマリンク設定前のURLで表示されます。
今回は、パーマリンクを設定した際の解決方法をメモします。

Apacheにmod_rewriteがインストールされているか調べる方法
mod_rewrite」とはドメイン以下URLの書き換えなどを行うモジュールです。

SSHでサーバにログインし、下記のコマンドを実行するとモジュールの一覧が表示されるので、「rewrite_module (shared)」が表示されることを確認します。

# httpd -M
Loaded Modules:
(省略)
 rewrite_module (shared)
(省略)
Syntax OK

mod_rewriteが使用できない場合はApacheの設定ファイルhttpd.confを変更しなければいけません。
Apacheの設定ファイルhttpd.confを変更できない場合でmod_rewriteがインストールされている際には「Options FollowSymLinks」と.htaccessファイルの先頭に書き込めばmod_rewriteが使用できるようになります。

Options FollowSymLinks

# BEGIN WordPress

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

# END WordPress

mod_rewriteを使用できるようになったため、再度パーマリンクを設定したところ正常に画面が表示されました。
httpd.confでmod_rewriteが使用できるように設定されている場合は、「Options FollowSymLinks」の記述は必要ありません。
また、WebサーバのApacheにmod_rewriteがインストールされていることが前提です。

.htaccessを使用するには
Apache はデフォルトで、.htaccessの使用が禁止されているそうです。
使用できるようにするには、httpd.confで「AllowOverride All」に設定し、Apacheを再起動させると.htaccessが使用可能になります。