2月 05

前回の記事ではDreamhostにconcrete5をインストールする手順についてご紹介させていただきました。これだけでもconcrete5を普通に使うことは可能です。しかし、SEOのことを考えるとぜひとも実施しておきたい設定が有ります。それが、PrettyURLです。PrettyURLは管理画面で設定をして.htaccessを書き換えれば利用できるのですが、Dreamhostの場合は一筋縄ではいきません。様々なところで話題にされていますが、今回私が取った方法をまとめておきます。

前提として、DreamhostのWeb panel > Manage Domain で利用予定のドメインでPHPの実行がFastCGIになっていることを確認しておいてください。

1.まずWebFTPでconcrete5をインストールしたフォルダにcgi-binフォルダを作成します。

2.cgi-binフォルダにdispatch.fcgiを作成。
ファイルの中身は

#!/bin/sh

export PHP_FCGI_CHILDREN=2

exec /dh/cgi-system/php5.cgi $*

 

 

です。

 

3.concrete5をアップしたフォルダに.htaccessを作成します。
ファイルの中身は

 

Options +ExecCGI

AddHandler fastcgi-script fcg fcgi fpl

AddHandler php5-fastcgi .php

AddHandler php5-cgi .php

Action php5-fastcgi /cgi-bin/dispatch.fcgi

RewriteEngine On

RewriteBase /concrete5/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

です。前半はPHPをFastCGIで実行するためのコードです。後半(IfModule以降)はprettyURLのために必要な変換をするためのコードです。
後半部分はconcrete5をインストールしたフォルダによってRewriteBaseが変わりますのでご注意ください。
私はドメインのルートに専用のフォルダを作って/concrete5/にインストールしたためこのようになっています。
Concrete5の管理画面でprettyURLを設定する際に後半部分のコードはインストール先を考慮した状態でしっかり出力してくれますので後半はそちらを利用しても構いません。

これで、prettyURLが利用できるようになるはずです。
ちょっと面倒ではありますが是非チャレンジされてみてください。

参考URL
http://jeremeclaussen.com/Blog/2009/10/20/concrete5-pretty-urls-and-dreamhost/


このエントリーをはてなブックマークに追加


written by azuma \\ tags: ,


Leave a Reply