検索フォームで他のURLの一つのディレクトリを検索するには?

[上に] [前に] [次に]
M.Miyagawa. [E-Mail] 1998/03/29(日) 00:00:33
検索フォームで「検索ディレクトリをパスで指定する」とありますが
"http://XXXX・・・"と言う風な指定ではうまく検索できないのでしょうか?
プロバイダの事情でCGIと検索Web Pageのサーバが異なるためこのような処置となるのですが・・・
対応方法はあるのでしょうか?

とほほ 1998/03/29(日) 01:34:05
パス名に http://〜 は指定できません。
改造すれば、検索の都度、CGIが http://〜 をダウンロードして、そ
れを検索する・・・ことも可能ですが、負荷がかかりすぎる、遅すぎ
ることが予想されるため、あまりオススメできないのが現状です。

M.Miyagawa. [E-Mail] 1998/03/29(日) 14:51:09
やはりそうですか・・・
では、CGI側に検索用に htm ファイルを置いてそこで検索を行い
表示時に Webpage のアドレスに書き換えるしかないですね。
$target_dir = "../htm";             # 検索用
$target_dir1 = "http://www.????";    # 実ディレクトリ

って感じで
search2の中で書き出す場合にLINKを変更すればいいですね。
下の部分が書き出し部だと思うのですが
実際、上の条件で変更する場合の修正はどうすればいいですか?
試行錯誤しましたがうまくいかなかったもので宜しくお願いします。

print "<P>\n";
print "<DT><A HREF=\"$target\" TARGET=out>";
print "$title</A>\n";
print "( <A HREF=\"$target\" TARGET=out>";
$target =~ s/$target_dir\/?//;
print "$target</A> )\n";
print "<DD>";
foreach $wd (@words) {
print "$wordtext{$wd} ";
}
print "\n";
last loop;


とほほ 1998/03/30(月) 23:25:40
例えば $target という変数に、"../htm/xxx" という文字列が格納さ
れている場合、$target =~ s/\.\.\/htm/AAA/; とすると、"AAA/xxx"
となります。これを利用して、頑張ってみてください。

M.Miyagawa. [E-Mail] 1998/03/31(火) 20:34:29
[[解決]]
ありがとうございます。
解決致しました。

[上に] [前に] [次に]