• 締切済み

URLに~/cgi-bin/~を隠す方法

http://~/cgi-bin/~.cgiでCGIを起動してますが、URLに/cgi-bin/をURL文に入れないで、CGIを動作させるには、どうしたらいいですか?隠す方法が有れば教えて下さい。

みんなの回答

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.4

ご自身でWWWサーバを設定・運用されているという前提で回答しますと、cgiを動作させるディレクトリ名を変更すれば良いです。 通常、WWWサーバソフトではCGIの動作を許可するかどうかを設定するところがあるので、そこで適当なディレクトリでCGIが動作するように設定すればよいです。 WWWサーバの設定権限が無いのであれば、No.1さんやNo.2さんの方法で回避するのが良いのではないでしょうか。

hagebantyo
質問者

お礼

ありがとうございます。

回答No.3

ご自分でサーバを運用している場合ならば、cgi-bin以外のパスにperlを通せばよいだけです。もしくは、Aliasで別のパス名を与えるという方法も可能です。 プロバイダなどからサーバスペースを借りているだけの場合は、プロバイダにお願いするという手がありますが、管理上、断られる可能性が大きいかと思います。 1,2の方が言われている通り、実際にcgi-binというフォルダの中に~.cgiファイルが入っているので、それ自体を隠すのはHTTPの仕様上、難しいかと思います。

hagebantyo
質問者

お礼

ありがとうございます。

hagebantyo
質問者

補足

Aliasで別のパス名を与えるという方法とは、具体的にどうすればいいですか? Apache2.0を使ってます。 どなたか、教えていただけませんでしょうか?

  • SpiceGirl
  • ベストアンサー率69% (493/713)
回答No.2

フレームを使う方法で可能です。 <HTML> <HEAD> <TITLE>私の日記</TITLE> </HEAD> <FRAMESET BORDER="0" ROWS="100%,*"> <FRAME NORESIZE SRC="http://******/cgi-bin/nikki.cgi"> </FRAMESET> <NOFRAMES> <BODY> <H1><A HREF="http://******/cgi-bin/nikki.cgi">フレーム対応じゃないブラウザをお使いの方はこちら</A></H1> </BODY> </NOFRAMES> </HTML>

hagebantyo
質問者

お礼

タグの書き方まで、教えてくれてありがとうございます。実践してみます。

  • salza
  • ベストアンサー率19% (44/223)
回答No.1

フレームを使用すれば、とりあえずアドレスバーにはトップのURLだけ表示されるようになります。 しかし、表示されているフレームのプロパティを見たら不通にURLは表示されますが・・。 それさえも隠す方法があるならば私も知りたいです。

hagebantyo
質問者

お礼

フレームを使用することで、URLを消せることは詳しくは知らなかったので、大変参考になりました。ありがとうございます。

関連するQ&A

  • cgi-binディレクトリ内のhtmlを有効にしたい

    度々お騒がせしております。 本日は、Apacheの設定について 伺いたく投稿させていただきました。 apacheの設定を終え、 一通り動作するようにできたのですが、 cgi-binディレクトリに置いたhtmlや jpg,gifといったcgi以外のファイルが 表示されません。 httpd.confによる cgi-binディレクトリの設定でどうにかなるものと思い、 色々調べてみたのですが、 いまいち設定方法がわかりません。 以下、私の環境です。 Apacche 1.3.20 htmlディレクトリ /var/www/html/ (775) cgi-binディレクトリ /var/www/html/cgi-bin/ (775) 現在のcgi-binディレクトリの設定 ScriptAlias /cgi-bin/ "/var/www/html/cgi-bin/" <Directory "/var/www/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> 以上、どうかよろしくお願いいたします。

  • 「cgi-bin」で403エラーが出ます

    いま運営中のサイトで発生するエラーの原因が分かりません。 運営しているURLが http://www.gehogeho.com/ とすると http://www.gehogeho.com/cgi-bin/ のURLにアクセスすると403エラーが発生します。 http://www.gehogeho.com/ の直下に「cgi-bin」というディレクトリは存在せず、cgiも使っていません。(サイト自体はApacheとPHPで動いています。) 存在しないURLにアクセスされた場合は全てホームにリダイレクトするように.htaccessで設定しています。 原因と回避方法がわかる方がいらっしゃいましたらお願いいたします。

  • cgi-binのディレクトリの作成方法

    FFFTPを使っています。 アップしたいのですが、トップページは、index.htmlにして下さいとあり、これは 成功しました。 CGIもアップしたいのですが、「あなたのホームディレクトリにcgi-binという ディレクトリを作成してください。」とあり、この方法が分かりません。 作成の方法と、アップの方法を教えてください。 URLからの閲覧時には、まずトップページが表示さらますが、そこからCGIのページに移る方法も教えてください。 よろしくお願いします。

    • 締切済み
    • CGI
  • cgi-binディレクトリにアクセス制限をかける方法

    ISPにwakwakを使用しているのですが、cgi-binディレ クトリ配下に置いてある掲示板に対してアクセス制限 をかける方法が無いか探しています。 wakwakの仕様で ・cgiはcgi-binディレクトリ配下にのみ設置可 ・htaccessはcgi-binディレクトリ配下では動作不可 というようになっておりお手上げ状態です。 htaccessで制限出来るディレクトリにリンク用のhtml を置いて、そこからじゃないとcgiディレクトリに飛べ ないようにすればと思ったのですが、どうもcgi-bin ディレクトリ(というかCGIに対して)直接アクセス制限 が出来るものが見つからず困っております。 どなたかお詳しい方がいらっしゃいましたらヒントだけ でも頂けると幸いです。

  • Apacheでcgi-binを隠すには

    Apacheの設定でcgiの実行ディレクトリをcgi-binに限定(DocumentRootでのcgi実行は不可)した場合、 アドレスはhttp://hoge.hoge/cgi-bin/となりますが、 これをhttp://hoge.hoge/で実行しているかのように隠蔽(偽装)する方法はないでしょうか?

  • Apacheのcgi-bin

    ApacheでCGIを実行するためのフォルダをcgi-binとしたのですがアドレスがなんかややこしくて困っております。 その際、http://locallhost/cgi-bin/bbs/bbs.cgiとアドレスがなるのですが、これをhttp://locallhost/bbs/bbs.cgiと変えることは可能でしょうか? また、KENT-WEBさんがご提供されていらっしゃるpostmailというCGIをApacheで表示しようとするとエラーが出てしまいます。cgiは動くのですが、中に同梱されているhtmlは表示してくれません。これは、cgi-binの外にhtmlを出さなければいけないのでしょうか?よろしくお願いします。

  • [Apache]/cgi-bin/以外でCGIを使いたい

    WindowsでCGIのテストをしているのですが、パスが例えば http://localhost/cgi-bin/test.cgi というようにすればcgiを実行することができるのですが、 http://localhost/test.cgi というようにして実行するには、どのように設定すればいいのでしょうか? たぶんhttpd.confの設定だと思うのですが・・。 ちなみに、インストールされているApacheのバージョンはわかりません。というのも、LaVieを買ったら、すでに C:\Program Files\Apache Group(以下) にインストールされていて、ヴァージョン情報がどこに書いてあるかわかりません。 それでもアドバイス頂けたらと思います。 また、これ(cgi-binを省略してアクセスする方法)について書かれているサイトもありましたらよろしくお願いします。

  • cgi-binでしかcgiを実行できない環境で…

    現在稼働しているコンテンツを 独自ドメインにしようと思い、 WebARENAを借りたのですが、 今時(?)cgi-binでしかcgiを実行できない設定でした。 現在のコンテンツは、 (ドメイン名)/example.php?id=123 のように、idをgetで渡す、 レンタル型のコンテンツなのですが、 これを (ドメイン名)/cgi-bin/example.cgi?id=123 のように、長いアドレスにしたくありません。 そもそもアドレスを短く、分かりやすくするために 独自ドメインを取ったものですから…。 Redirectでcgi-binに飛ばしてみたりしたのですが、 その場合引数はカットされるようです。 なんとかして、cgi-binを入れないアドレスが 使えるようにできないでしょうか?

  • なぜフォルダ名がcgi-binなの?

    ささやかな疑問です。 なぜ、CGIをおく ディレクトリ(仮想ディレクトリ) の名前がどこのサイトを見ても cgi-bin なのですか? binってなにですか?

    • ベストアンサー
    • CGI
  • cgi-bin配下のファイルに読込許可を!

    最近、Apache2を使い始めたばかりで設定がよくわかりません。 Apacheの設定ファイルで、httpd.confというファイルがありますが、その中で、 ScriptAlias /cgi-bin/ "C:/Apache2/htdocs/cgi-bin/" <Directory "C:/Apache2/htdocs/cgi-bin"> AllowOverride None Options All Order allow,deny Allow from all </Directory> と記述して"C:/Apache2/htdocs/cgi-bin"配下にあるファイルに CGIが動作するように許可しました。 しかし、これだと逆に"C:/Apache2/htdocs/cgi-bin"配下にある HTMLファイル(.htm等)が読み込めなくなってしまいます。 cgi-bin配下にあるhtmlファイルも表示できるように許可を 出したいのですが、どのように設定すればよろしいのでしょうか?