Posted by hattara on 2009 年 4 月 27 日 – 8:16 PM
ZendFrameworkの勉強と称して、PHPからXMLを表示しようとしてたわけですが、
XML表示ができずに、以下のようなエラーが出てました。
XML パースエラー: タグの対応が間違っています。終了タグが必要です:
URL: http://zend.hattara.info/Response/
行番号: 11, 列番号: 3:
–^
色々周りの方に確認してもらったりしたら、間違いがボロボロと。。。
- ZendFrameworkでは、Controller部分には、phpの閉じかっこ「 ?> 」は記載しないらしい
- XMLを表示する際には、タグの中はシングルクォートではなく、ダブルクォートを利用するらしい
- 「」は「 ~ ?>」と競合するので、short_open_tagはOffにする必要があるらしい
- charsetをUTF-8にしてるのに、ソースをEUCで記載してたので出たらしい
というあたりがありました。
なので、.htaccessで以下を追加したり各内容を修正したりしました。
php_value short_open_tag “Off”
この辺を全部対応して、どうにか動くようになりました。
Posted by hattara on 2008 年 11 月 5 日 – 7:58 PM
よく.htaccessを使うわけだけども、その都度書き方をググるわけです。
面倒なんで、メモで残しておきます。
まず、特定ホストからのみアクセスを許可するなら、
order deny,allow
deny from all
allow from 192.168.0.100
allow from 192.168.0.200
みたいな感じにすれば、OKですね。
次に、mod_rewriteで転送する場合ですが、アクセスホスト名毎に
内容を分岐する(VirtualHostとか使ってない場合?)とか、
コンテンツ内容によって変更する場合には、以下のような書き方でいけますね。
## シンボリックリンクを有効に(場合によって不要かも)
Options FollowSymLinks
## リライトのエンジンを有効に。
RewriteEngine on
## サイト名A宛でtest.phpでもtest/フォルダでもなければmainフォルダに転送
RewriteCond %{HTTP_HOST} a.com
RewriteCond %{REQUEST_URI} !(^/test\.php)
RewriteCond %{REQUEST_URI} !(^/test/)
RewriteRule ^(.*)$ /main/ [R]
## サイトB宛で/aaa/abc.php宛のものを defフォルダに転送
RewriteCond %{HTTP_HOST} b.com
RewriteCond %{REQUEST_URI} (^/aaa/abc.php)
RewriteRule ^(.*)$ /def/ [R]
というような感じでできますね。
あとは、これをもとの修正をいれてあげればいい感じ。
条件とか不要な場合には、Redirectを使えばいいですね。
Posted by hattara on 2008 年 10 月 14 日 – 8:48 PM
モジュール版ではなく、CGI版のPhpを使う場合、
(レンタルサーバを利用中でCGI版になってる場合)には、
特に何も設定をしなかった場合には、
phpの環境変数(php.iniで設定されてるもの)を変更できない。
モジュール版の場合には、.htaccessに「php_value」を書いてみたり
phpのソース(たとえばtest.phpみたいな)ものの中で「ini_set」をして
設定を上書きすることができる(1部の設定を除く)わけですが、
CGI版ではできないようですね。
phpinfoでみても「local」の部分が書き変わってないので、
効いてないってことですね。
実際に試してみましたが、できませんでした。
これを回避する一般的な方法としては、suPHPを利用する形っぽいですね。
詳細は以下のサイトにのってるようですぜ。
FlatEight.com >> FreeBSD/suPHP