映画とネットのDIARY(tDiary版)

since 2004/07/15
ここは古い日記です。2013年11月からadiaryを使った新サイトに移行しました。
検索エンジンからのアクセスで、お探しのキーワードが見あたらない場合はNamazuで再検索してみてください。
映画の感想一覧 2004年7月以降 2005年  2006年  2007年  2008年  2009年

2012年02月11日 [Sat]

さくらインターネットのmod_rewrite

XOOPS Cube Legacy(XCL)のモジュールpicoでHTMLファイルをラップする設定にしてみた。XUGJのModuleManualsを参考に、picoをcontentsにリネームしてインストール。XOOPS_TRUST_PUSの中にwrapsというフォルダを作り、その中にcontentsフォルダを作って、HTMLファイル(test.htmlという名前にした)を入れる。さくらインターネットはPHPがCGIモードで動いているので、PHP.iniの設定に

cgi.fix_pathinfo = 1

を追加。続いてXOOPS_ROOT_PUS/contentsにある.htaccess.rewrite_wrapsを.htaccessにリネーム。これで、http://forums.cinema1987.org/contents/test.htmlにアクセスすれば、表示されるはずだが、「ファイルが見つかりません」。むむむ、原因が何か分からなかったが、.htaccessの設定が悪いのかもしれない。.htaccess.rewrite_wrapsに書いてあるのは以下の通り。

RewriteEngine on
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path_info=$1 [QSA,L]

調べたら、さくらインターネットではRewriteBaseの設定が必要らしい。いろいろ悩んで、以下のように書き換えた。

RewriteEngine on
 
RewriteBase /modules/contents/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path_info=$1 [QSA,L]

test.htmlにアクセスすると、「ファイルが見つかりません」は出なかったが、画面が真っ白。エンコードが悪いらしい。test.htmlはUTF-8のファイル。Sift_JISで保存しなおしたら、表示された。UTF-8で表示できないのはこちらの設定が悪いのか、picoのUTF-8の処理にバグがあるのかは分からない。

それにしてもmod_rewriteは面白いな。「URLを操作するためのスイス製のアーミーナイフ」と言われるだけのことはある。もっと使いこなせるようにしたい。


[管理人にメールする] [シネマ1987online]