• ベストアンサー

拡張子を省略してcgiを実行するには?

拡張子を省略してcgiを実行したいと思ってます。 例) hoge/hoge.cgi?a=1 ↓ hoge/hoge?a=1 .htaccessに以下のように記述してみましたがうまく行かず、悩んでいます。 ForceType cgi-script cgi 良い方法をアドバイスお願いします。

  • abiru
  • お礼率67% (37/55)
  • Perl
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • mi-si
  • ベストアンサー率35% (200/567)
回答No.2

<Files hoge> DefaultType cgi-script </Files> でとりあえず行けると思います。

abiru
質問者

お礼

なるほどですね。 ありがとうございました。

その他の回答 (1)

回答No.1

実行cgi名をindex.cgiにしてみるのはどうですか? 私はそれで、フォルダ名だけで実行できるようにしています。 ただ、サーバーの仕様によっては指定してあげないと 実行できないようになっているところもあります。 例として… .htaccessに DirectoryIndex index.cgi と記述しておきます。 そして、実行cgi名を… 例えばdiary.cgiだとすると、それをindex.cgiと変えます。 プログラムの中にcgi名の指定箇所があったら そこも忘れずに変えます。 そうすると、今まで 「diary/diary.cgi」と指定しないと実行できなかったものが、 「diary/」だけで実行できるようになります。 的外れな回答でしたらすいません。

abiru
質問者

お礼

ご返信ありがとうございます。 今回の場合は拡張子は隠したいものの、あえてファイル名は出したいというケースなのです。 ですので、お教えいただいた方法では解決しそうにありません。 すいません。。。m(_ _)m

関連するQ&A

  • CGIを実行する方法

    ホームページに来訪者があったとき、 必ず指定のCGIを実行する方法を調べています。 今、取り入れてる方法は <head></head>の間に、 <script src="~.cgi"></script> と記述して指定しています。 この他によい方法があれば教えてください。 それと、今取り入れてる方法の問題点の指摘などよろしくお願いします。

    • 締切済み
    • CGI
  • PHPをCGIとして実行する方法

    PHPをCGIとして実行する方法 現在PHP(モジュール版)にて開発を行っているのですが、 仕様上.htaccessを使用してcgi-binディレクトリ内にあるphpファイルをCGIとして 実行しなければならなくなりました。 下記の記述方法だと500エラーが発生してしまい、大変困っています。 <Directory "/usr/~(任意のcgi-binディレクトリのフルパス)~/cgi-bin"> AddType application/x-httpd-cgi .php </Directory> 因みに.htaccessはcgi-binディレクトリの1階層上に設置しています。 単に「AddType application/x-httpd-cgi .php」を記述する分には誤作動は起さないのですが、出来れば指定のディレクトリ内だけで指定したいと考えています。 もし思い当たる点がありましたら、ご教授お願い致します。 下記に環境を記しておきます。 【環境情報】 OS:FreeBSD 6.2(レンタルサーバ) PHP:5.2.4

    • ベストアンサー
    • PHP
  • CGIを実行した時に作ったファイルの所有者に関して

    Proftpdとapacheを用いてWebサーバを運用していますがCGIやPHPによって作られたファイルの所有者がapacheになってしまいFTPからファイルが削除できません。 hoge.hoge.comはhogeでCGIを実行し aa.hoge.comはaaでCGIを実行することはできないのでしょうか? バーチャルホストでCGIを実行するときは何か別に記述が必要なのでしょうか? ちなみにFTPDは User   nobody Group   nobody apacheは User apache Group apache このように設定してあります。

  • CGI版PHPについて

    一般的なPerlのCGIが実行可能な状態のApache(Linux上)にCGI版のPHPを追加インストールした場合、ApacheはスクリプトがPerlであるかPHPであるかの違いをどう認識するのでしょうか? 方法1 スクリプトはどちらも*.cgiとして作成し、スクリプト内先頭行のperlやphpへのパスの記述で認識する 方法2 perl→*.cgi php→*.php のようにhttpd.confや.htaccessで設定する 初心者のためこの二つくらいしか思い浮かばないのですが、どちらかが正解だったりしますか??

    • ベストアンサー
    • PHP
  • .htaccessを用いて.cgiを.htmlにリダイレクトしたい

    .htaccessを用いて.cgiを.htmlにリダイレクトしたい 現在webサイトで以下のようなURLが表示される掲示板を設置しています。 http://hoge.com/bbs1/bbs.cgi?nd=dd&parent=32 http://hoge.com/bbs1/bbs.cgi?nd=dd&parent=500 (最後の数字は10から500くらいまであります) これを過去ログにするため、html化しました。 http://hoge.com/log1/32.html http://hoge.com/log1/500.html しかし以下のような.htaccessを、/bbs1/以下に設置しても、htmlに転送することができません。 RedirectPermanent /bbs1/bbs.cgi?nd=dd&parent=32 "http://hoge.com/log1/32.html" ちなみに以下のようなhtmlファイル同士の転送はできます。 RedirectPermanent /bbs1/index.html "http://hoge.com/log1/index.html" 301リダイレクトでcgiをhtmlに転送することはできないのでしょうか? もしおわかりになりましたらご教授いただけますと大変有り難いです。

    • ベストアンサー
    • CGI
  • 別サーバーのcgiを実行させる

    あるサーバーで動作しているcgiスクリプトから、別のサーバーに置いてあるcgiスクリプトを実行させる方法はあるでしょうか? require 'http://…/…/test.cgi'; としても実行することは出来ませんでした。 googleで検索したところrequireではURL指定ができないと解説しているサイトがありましたので、requireを使わずに、(CGI.pm等の標準モジュール(?))なども使わないで他のサーバーに設置したcgiを動作させる方法があれば、教えていただきたいです。

    • ベストアンサー
    • CGI
  • XREAでcgiが実行できません

    無料レンタルサーバーの「XREA」を借りたのですが、cgiが実行できません。 エラー番号2というのが出てしまいます。 もっともシンプルな「hello.cgi」も実行できませんでした。 xrea.comでは要らないと聞いていましたが、もしかしたらと思い、「.htaccess」も入れてみましたが、それでもだめでした。 もちろん、属性変更は行っています。 どなたか、解決法をご存じないでしょうか。

    • ベストアンサー
    • CGI
  • .htaccessの設定【CGIと携帯転送】

    レンタルサーバー「ラピッドサイト」RV-7シリーズを利用しています。 ■やりたいこと CGIフォームを設置、 PCサイトTOPに携帯ユーザーがアクセスしたら「http://aaa.jp」に転送するよう設定したい ■不具合内容 .htaccessで以下のとおり記述し、トップディレクトリにアップすると 携帯サイト転送の設定はできますが、CGIページにアクセスすると403エラーが発生します。 なお、「# CGI実行設定」のみ記述すると正常にCGIが動作します。 ---------------------------------- # CGI実行設定 Options +ExecCGI AddHandler cgi-script cgi AddType text/html cgi # 携帯サイト転送設定 Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^(.*)$ http://aaa.jp [R,L] ---------------------------------- ▼.htaccessファイルによるCGI実行設定(ラピッドサイト) http://www.rapidsite.jp/support/manual/rv7/e_60.html .htaccessの記述にミスがありますでしょうか? もしよろしければ正しい記述内容を教えていただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • PerlのCGIとPHPを

     特定のディレクトリのCGIの中にPHP(Apacheのモジュール版)を書き、(CGIで<?php~?>とHTMLを出力させる)Perl/CGIを実行したときにその出力の中に含まれるPHPを実行させたくて、.htaccessに AddHandler application/x-httpd-php cgi AddHandler cgi-script .cgi を書いたのですが、どうやらPHPのAddHandlerの後に書かれているCGIの方が優先され、PHPが実行されず、CGIのみが実行されます。  順序を逆に書いても、今度はPHPが優先されてしまい、どちらか片方しか実行されません。  どうすれば、両方同時に実行させられるでしょうか、教えてください。  それが不可能ならば、とりあえずPerl/CGIからPHPを呼び出して先に実行させるようなことができるのならば教えてください。  ちなみに、httpd.confには拡張子cgiをすべてのディレクトリでCGIとして実行、拡張子phpもすべてのディレクトリでPHPとして実行させるようにAddHandlerされています。 Apache/2.0.58(Windows版) PHP/5.1.6 CGI: ActivePerl 5.88 です。

    • ベストアンサー
    • PHP
  • NFS経由ではcgiの実行はできない?

    NFS経由ではcgiの実行はできない? NFSでマウントしたディレクトリへのアクセス(具体的にはcgiの実行)を試しています。 host1とhost2(両方とも、OSはCentOS5)を作っており、 host1に/home/cgi/sample.cgiがあり、/etc/exportsでhost2に対してexportしています。 host2にはApacheがインストールされています。 host2でhost1の/home/cgiを/www/cgiとしてマウントしています。 host2で、httpd.confには ScriptAlias /cgi-bin/ /www/cgi/ と記述しています。そして、 http://localhost/cgi-bin/sample.cgi とすると、うまくcgiが実行されません。 一方、host1でApacheをインストールして同様の設定を施して、 http://localhost/cgi-bin/sample.cgi を実行しましたらうまくcgiが実行できました。 NFSでマウントしたcgiなどのスクリプトなどは実行できないものなのでしょうか?