質問箱/2613

カテゴリ
サマリDynamicDNS環境でのページ内リンクのアドレス
バージョン1.4.5 (1.4.5_1)
投稿者keins
状態完了
投稿日2005-02-16 (水) 14:00:26

質問

DynamicDNS環境にて、FrontPageでのリンクのアドレスを  外部からのアクセスでは http://ほげほげ/~*****/pukiwiki/index.php  内部からのアクセスでは http://192.168.0.11/~*****/pukiwiki/index.php となるように、1.4.4 では pukiwiki.ini.php にて$script="./"; と設定してうまく動作していました。

ところが、同じサーバー上に、1.4.5 を新規に追加インストール(tarファイルをサーバー側で解凍,パーミッションを設定)して  $script="./"; を設定したところ、(ブラウザ上に)エラーのみが表示されます。

  Runtime error
  Error message : $script: Invalid URI 
尚、apacheのログには何も記されていません。

$script="./"; をコメント化して内部から見るとFrontPageはhttp://192.168.0.11/~*****/pukiwiki/index.php としてアクセスできますが、そのリンクも http://ほげほげ/~*****/pukiwiki/index.php となってしまいます。

残してある 1.4.4 (領域をpukiwiki-144にリネーム)ではその様な事は無く問題なく動いています。

1.4.4 から 1.4.5 で $script の設定は変わったのでしょうか? お教え下さい。

環境は次の通りです。

Apache/1.3.33 (Unix) (Vine/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7d PHP/4.3.10

回答

  • $scriptを初期化する関数の内容が変わって、チェックが厳しくなったようです。 -- okkez 2005-02-16 (水) 15:27:52
  • 質問の答えじゃありませんが、対応として内部の端末がさほどの台数なら、素直に hosts に定義すれば、scriptをいじる必要はありませんけどねぇ。-- upk
  • 即答状態なのでソースを見ていませんが、厳しくしたなりの理由があるはずです。回避策としては $scriptをチェックする部分をゆるめに(というより、任意に)改造するか、内向きアクセス用のindex.php を用意(コピー)して、そちらの中で $script を固定に設定、外向きアクセス用のindex.phpは $script は無指定、というのはいかがでしょうか。 -- henoheno 2005-02-16 (水) 23:08:14
  • upk さん御提案の様に端末側のノートパソコンのhostsにサーバーを登録する事で内部からのアクセスがうまくいくようになりましたが、ノートパソコンを外に持ち出してアクセスする場合にhostsを変更しなければなりません。 lib/func.phpを見た所、1.4.4では $scriptをフリーパスしていたのに1.4.5ではis_urlの関数でチェックしています。次の様に書き換えるとうまくいくようです。
      ------------------------------------------------------------------------
    	} else {
    		// Set manually
    		if (! $init_uri =='./') {
    			if (isset($script)) die_message('$script: Already init');
    			if (! is_url($init_uri, TRUE)) die_message('$script: Invalid URI');
    		}
    		$script = $init_uri;
    	}
      ------------------------------------------------------------------------
    問題は、この様な変更を行なって他に影響が出ないかです。 -- keins 2005-02-17 (木) 20:19:17
  • 1.4.5_1 にバージョンアップ(update_1.4.5_to_1.4.5_1.tar.gz を使用)しましたが、func.php を変更したり等の対処が必要なようです。 -- keins 2005-02-24 (木) 20:00:49
    • こんにちは :) 1.4.5 と 1.4.5_1 の間でそこに変化が無いでしょうから、それはその通りだと思います -- henoheno 2005-02-24 (木) 22:27:22
    • func.php が変更されたファイルに含まれていたので、確認した次第です。只、別の所が変わった事で、$script に ./ を指定しなくてもよくなったかと期待したのです。 -- keins 2005-02-24 (木) 23:08:24
  • 上の書き換える、というのはfunction is_urlのところの}でとじて終わってるのを} else {以下を追加する、という意味でよろしいのでしょうか? -- py? 2005-04-14 (木) 02:14:29
    • 編集対象はget_script_uri 関数です。 -- 2009-05-06 (水) 15:35:53

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-05-06 (水) 15:35:53
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.220 sec.

OSDN