**[[続・質問箱/613]] [#s24a8c92]
#author("2018-03-11T14:55:29+09:00;2009-05-06T15:35:53+09:00","","")
**[[質問箱/2613]] [#s24a8c92]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|DynamicDNS環境でのページ内リンクのアドレス|
|~バージョン|1.4.5 (1.4.5_1)|
|~投稿者|[[keins]]|
|~状態|完了|
|~投稿日|&new{2005-02-16 (水) 14:00:26};|
***質問 [#sca35b75]
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


***回答 [#m682cd0c]
-$scriptを初期化する関数の内容が変わって、チェックが厳しくなったようです。 -- [[okkez]] &new{2005-02-16 (水) 15:27:52};
-質問の答えじゃありませんが、対応として内部の端末がさほどの台数なら、素直に hosts に定義すれば、scriptをいじる必要はありませんけどねぇ。-- [[upk]]
-即答状態なのでソースを見ていませんが、厳しくしたなりの理由があるはずです。回避策としては $scriptをチェックする部分をゆるめに(というより、任意に)改造するか、内向きアクセス用のindex.php を用意(コピー)して、そちらの中で $script を固定に設定、外向きアクセス用のindex.phpは $script は無指定、というのはいかがでしょうか。 -- [[henoheno]] &new{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]] &new{2005-02-17 (木) 20:19:17};
-1.4.5_1 にバージョンアップ(update_1.4.5_to_1.4.5_1.tar.gz を使用)しましたが、func.php を変更したり等の対処が必要なようです。 -- [[keins]] &new{2005-02-24 (木) 20:00:49};
--こんにちは :) 1.4.5 と 1.4.5_1 の間でそこに変化が無いでしょうから、それはその通りだと思います -- [[henoheno]] &new{2005-02-24 (木) 22:27:22};
--func.php が変更されたファイルに含まれていたので、確認した次第です。只、別の所が変わった事で、$script に ./ を指定しなくてもよくなったかと期待したのです。 -- [[keins]] &new{2005-02-24 (木) 23:08:24};

-上の書き換える、というのはfunction is_urlのところの}でとじて終わってるのを} else {以下を追加する、という意味でよろしいのでしょうか? -- [[py]] &new{2005-04-14 (木) 02:14:29};
-- 編集対象はget_script_uri 関数です。 --  &new{2009-05-06 (水) 15:35:53};

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.045 sec.

OSDN