masa さん、
草野さんの話は、HTMLとCGIが別のホストなので http:// から書かざるを得ないという話ですね。
HTMLとCGIが同一ホスト上で動くのなら masa さんのやり方でいいですし、さらには相対パスの方がいいのでしょう。
草野さん、
そうですね。
ローカルテストを始める/終了するというCGIを作っておいて、それぞれのCGIの中で hosts ファイルの置き換えをする、という手もあると思います。
URLを書き換えるなら、置換する(本来の)Perlスクリプトでも作っておけばいいと思います。
昔ながらの UNIX の感覚なら sed を使ったシェルスクリプト(バッチファイル)になるのかもしれません。
はじめまして、CGIのテスト環境として使用させてもらっています。
私はローカルでのテスト環境時と公開時とでソースを変更するのが面倒なので、
http://XXX.XXX.XX.jp/~AAAAA/user-cgi/test.cgi
ではなくて、
/~AAAAA/user-cgi/test.cgi
と記述しています。
また、自分自身をコールするような時は $ENV{'SCRIPT_NAME'} を使っています。
一応、私の環境ではこれで動いているのですが、ひょっとしてマズいんでしょうか?
>草野さん、
>一番簡単なのは、localhost の別名を XXX.XXX.XX.jp とすることでしょう。
あ、その手がありましたね。
ただ、実はテスト(作成)しているのが友人のホームページと
そのテスト環境なのですが、
その友人というのがこういう知識が皆無なので
元に戻すのを忘れて大騒ぎになるかもしれません ^^;;;
ぴゅあさんの書かれているようにアップ時に設定を変える
# それも意識しないで良いように...
方法も含めてもう少し検討してみます。
ありがとうございました。
★草野さんに関して(補足)
hostsを使った方法は試したことはありませんが。
WebとCGIを共用したいのですよね。
IPアドレスの指定の仕方とか工夫すればhostsも使えるのかも知れませんが(何しろ試してな
いので)。
σ(^ー^)がやっていた方法はアップ時にURLを書き直すという方法です。
hostsで全く同じ環境が作れるならその方が良いですけど。
一応環境設定用の定義ファイルを作ってrequireしプロバイダのサーバにアップするときは
設定ファイル内だけを変えれば良いようにしています。これは間違いを最小限にするのを目的と
して。ファイルが増える,変数(定数部分)が増えるというのはちょっと気になるところですが。
簡単には直接書いてあるところを書き直す(また変更ミスを減らす工夫をする)というのが。。。。
草野さん、
一番簡単なのは、localhost の別名を XXX.XXX.XX.jp とすることでしょう。
具体的には、
Windowsディレクトリにある hosts.sam を hosts にリネームして、
127.0.0.1 localhost
の行に XXX.XXX.XX.jp を追加して、
127.0.0.1 localhost XXX.XXX.XX.jp
とします。
ただしインターネットに接続する時は、
127.0.0.1 localhost
に戻さないと 本当の XXX.XXX.XX.jp に接続できなくなります。
適当に切り替えるバッチファイルでも作っておく方が便利だと思います。
ホームページを公開する前に、ローカルでCGIのテストをしたいのですが、
ホームページとCGIを置くサーバが別の場所に置かなくてはならないため
CGIのURLを http://XXX.XXX.XX.jp/~AAAAA/user-cgi/test.pl
のように書かなくてはならないそうです。
こんな場合にはどういう風に設定をすればいいのでしょうか。