concrete5 では、各ページのアドレスに
http://【c5のアドレス】/index.php/○○
といったように「index.php」が含まれてしまいます。
しかし、管理画面で設定、そして、「.htaccess」というテキスト設定ファイルを作成し、サーバーにアップロードすることにより、「index.php」を省略する事が可能になります。
ここでは、その方法をご紹介します。
1.「index.php」を改造
- ダウンロードした「concrete5.x.x.ja.zip」を、お使いのパソコンで解凍
- フォルダー「concrete5.x.x.ja」内の「index.php」を、Dreamweaverや、「テキスト編集」などのソフトウエアを使って開きます。
- 「index.php」の全部を以下のように編集して下さい。
Filename: index.php
<?php
if (isset($_GET["pathinfo"])){
$_SERVER["PATH_INFO"] = $_GET["pathinfo"] ;
}
require('concrete/dispatcher.php');
2.プリティーURLの為の.htaccessを作成
以下の様に変更を加えた、「.htaccess」テキストファイルを使用して下さい。
Filename: .htaccess
RewriteEngine On
#
# サブディレクトリーでサイトを構築されている方は
# RewriteBase の部分に、そのディレクトリーのパスを入れて下さい
#
RewriteBase /
#
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?pathinfo=$1 [L]
※ concrete5 がトップドメイン以下のディレクトリーにインストールされている場合は、6行目「RewriteBase /」の部分を変更する必要があります。
変更方法:「RewriteBase /」 → 「RewriteBase /保存先ディレクトリ名/」
例:) concrete5が、http://example.com/concrete5/ に保存されえている場合
「RewriteBase /」 → 「RewriteBase /concrete5/」