Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2006-08-19 07:46:26

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: apache2.0xのFancyURLで 404エラーのとき(nucleus3.3β記念)

apache2.0xでFancyURLの設定を終えた後、アクセスすると404エラーになるときのtipsです。
答えを急ぎたい方は下記の本家スレッドをどうぞ
http://forum.nucleuscms.org/viewtopic.php?t=5554

nucleus3.3でコードを追っていて、
$virtualpath = ((getVar('virtualpath') != null) ? getVar('virtualpath') : serverVar('PATH_INFO'));
というのがあって、$virtualpathを解釈するような勢いなのですが、これはおそらく、Fancyでない環境からFancyに移ったときに、旧リンクをmod_rewriteで補正するためのものだろうと思われます。
でも、どうせならgetVarじゃなくてrequestVarにしたほうが面白いんじゃないかと思っています。
url上に見せたくない情報をcookieやpostで渡すという実装が可能になりそう。

で、早速テスト用プラグインを作って動作させてみたのですが、そもそもFancyURLにしていなかった。
そこでFancyURL化してみたのですが、動作しない・・・。で、
デバッガーで行を追っていくと、どうもPATH_INFOが渡っていない・・ん、phpinfoにPATH_INFOはない!
どうも、apacheのバージョンまたはコンパイルオプションによっては、PATH_INFOを渡さないことがあるらしいのです。
このあたり、日本語フォーラムには情報がなく、ヒットしたのがこれ
http://ns1.php.gr.jp/pipermail/php-user ... 27258.html
ふむふむそれで、APACHEのバージョンをチェックしたら
http://httpd.apache.org/docs/2.0/mod/co ... ptpathinfo
がビンゴで、AcceptPathInfo On を付け足してみたら動作した。

で、逆引きでAcceptPathInfoとnucleusを拾ってみると、
http://www.ichiro.to/item/20

このあたり、すでにFAQなのかもしれませんね。日本語フォーラムにはなかったのですけど。

オフライン

Board footer