• ベストアンサー

.html ファイルでasp実行?

現状、Win2000Server+IIS5.0 上で、以下のようなファイルが動いています。 これを Win2003Server + IIS6.0に移行しているところなのですが、うまく動きません。 まず、index.aspで、index.htmlにリダイレクトし、index.htmlは表示されます。しかし、index.htmlの最初の行にある<!--#include Virtual = "/gl.asp"-->がインクルードされず、ブラウザに表示されたソースを見るとそのまま表示されてしまいます。 そもそも、.htmlなる拡張でaspが実行されるのかが疑問なのです。 ただ、現行サーバでは動いているんですが。 ちなみに新サーバ上でのIISマネージャのWeb拡張にてSSIやCGI、ASPは有効にしてあります。 次に、SSIを.htmlにマッピングしてみました(現行サーバではそうなっていませんが)。 結果、<!--#include Virtual = "/gl.asp"-->はインクルードされましたが、 gl.aspは実行されずそのまま読み込まれただけです。 つまり、ここでもPerlが実行されないまま、単にインクルードされたに過ぎないのです。 Perlでのスクリプトも単独では動作しているのは確認しております。 新サーバ上で、どのような設定が必要なのかが判りません。どなたかお知恵をお貸しください。 よろしくお願いします。 ****************************** [ファイル名 index.asp] <% リダイレクトの為のスクリプト%> ******************************* [ファイル名 index.html] <!--#include Virtual = "/gl.asp"--><% %> <html ・・・ 以下省略(これ以降もHTMLタグとASPスクリプトの混在したものが続く) ************************* [ファイル名 gl.asp] <script language="PerlScript" runat="Server">Perlスクリプト</script> <% ・・・ 以下省略(これ以降もサーバー側ASPに関する記述が続く)に関する記述が続く)

  • demoe
  • お礼率88% (40/45)

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

  • ベストアンサー
  • wildwell
  • ベストアンサー率66% (2/3)
回答No.2

htmlをaspとして動かすには、 インターネットインフォメーションサービスの 仮想ディレクトリのプロパティにある、 [仮想ディレクトリ]タブの[構成]ボタンをクリックします。 [アプリケーションのマッピング]タブに拡張子の一覧がでてきます。 一度、.aspをダブルクリックし、[実行ファイル]テキストボックスおよび[制限]テキストボックスの内容をコピーしておきます。 その後、それを閉じ、[追加]ボタンをクリックします。 ここで、先ほどコピーしたものを、[実行ファイル]テキストボックスおよび[制限]テキストボックスに貼り付け、拡張子に.htmlを入力し[OK]とします。同様に、.htmをやっておくこともお勧めします。 以上で、拡張子が.html/.htmのものはすべて.aspとして動くことができるようになります。

その他の回答 (1)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

<!--#include Virtual = "/gl.asp"--> と記述すると、実行結果ではなく、ソースが表示されるのだけど、実行結果を表示したいってことでしょうか? includeの動作としてはソースが読み込まれるのが正しいので、コマンドを変更してください。 実行結果を読み込みたいのであれば、参考URLをどうぞ

参考URL:
http://cocohome.hp.infoseek.co.jp/ssi/exec.html
demoe
質問者

補足

回答ありがとうございます。 実行結果ではなくソースがindex.html内の頭に読み込まれます。 確かに、include の動作としてはソースが読み込まれて表示するのは正しいとは思いますが、現サーバでは実行された結果が表示されます。 ファイルは現サーバからコピーしているので書き間違いはありえないのです。 しかも、includeされるgl.aspはperlスクリプトとaspが混在したファイルです。 IIS上の設定を何か変更すれば、include後のindex.htmlはaspとしてサーバー上で実行されるものなのでしょうか?

関連するQ&A

  • SSIでASPを実行したいのですが、うまくできません

    SSIを初めて使うにあたり、テストしています。 include virtualが正常に動作するのは確認できたのですが、 <!--#exec cgi="http://xx.xxx.com/xxx.asp"--> と挿入した、shtmlを表示しようとすると、 「実行権がないため、#EXEC 'http://xx.xxx.com/xxx.asp' を実行できません」のエラーになります。 http://xx.xxx.com/xxx.aspは、Response.Write "hello world!!"を実行するaspで、 http://xx.xxx.com/xxx.asp単体では動作することを確認できています。 この問題を解決する方法は何かないでしょうか。 あと追加の情報としては、OS:Win2000Server、IIS5.0、 テスト用のshtmlとaspですが、同じフォルダ階層に置いたり、aspを一つ下のフォルダ階層に置いて試したのですが、いずれも上記のエラーとなりました。 何かアドバイスをいただけると幸いです。

  • IISのSSIの設定について

    SSIについてここで質問していいのか分からなかったんですが、 SSIが見当たらなかったのでここで質問させていただきます。 現在ローカルでSSIの表示テストを行っています。SSIの設定はデフォルトでされているので特に設定する必要はないと思っていたのですが、以下の現象がおこっています。原因がお分かりでしたらお教えください。 SHTMLファイル内で他ファイルインクルードを行うためにincludeを記述したのですが、引数名fileは正常に取り込めるのですが、virtualでは「404 Object Not Found」のエラーが出ます。以下該当の記述。 <!--#include file="./include/test.html"--> 正常 <!--#include virtual="../include/bgcolor.html"--> 異常 レンタルサーバ上ではどちらも問題なく表示でき、ローカルの場合だけエラーが出ます。 IISの設定に何か必要なのでしょうか? IISのバージョンは5.1 OSはXPです。 以上。よろしくお願い致します。

    • ベストアンサー
    • CGI
  • aspのページが表示できません

    windows 2003 server上に IIS6.0にて仮想ディレクトリを作成し、HTMLファイルは 動くのですが、なぜかASPファイルを表示 しようとすると、ページを表示できませんとなります。 仮想ディレクトリタブの実行アクセス許可は、スクリプト及び実行可能ファイルにして、ドキュメントタブの既定のコンテンツページを有効にチェックを入れ、index.aspを追加し、頭に置いてあります。 aspはマッピングしてあります。 Win2000で試したところ問題なく表示できます。 また、外部との接続はしていません。イントラネットのみです。(前の担当者が設定)初心者なもので全くわかりません。 どなたかご教授お願いいたします。

  • SSI - SSIで読み込んだファイルにさらにSSIの<!--#fsize・・・を指定すると読み込んでくれない。

    HTMLファイルに <!--#include virtual="ファイル名"--> でファイルを読み込んでいます。 そのファイルの中にさらに <!--#fsize virtual="サイズをとりたいファイル名" --> を指定しているんですが、サイズが表示されません。 ファイル位置は正しく設定しております。 もちろんSSI対応のサーバーを使用しています。 読み込んでいるファイルでもSSIが有効になる方法を教えてください!

  • ASPで、サーバ上のスクリプトファイルの実行。

    こんにちは。よろしくお願いします。 環境 ASP Win2003、IIS6、SQLServer2000 イントラネット内環境のみのシステム クライアントPCでWebブラウザを起動して、とあるURLへアクセス。。。 ソースの中のVBS部分に書き込んでおいた、サーバ側のスクリプトファイルがキックされる。。。 サーバ上でスクリプトファイルが実行されてめでたしめでたし。。。 そんな事を思い描いていましたが。。。できませんでしたっけ??@w@; クライアントがアクセスするASPファイル hogehoge.asp -------------------- <% Dim objWsShell '##### Shellオブジェクトのインスタンス化 ##### Set objWsShell = Server.CreateObject("WScript.Shell") '##### シェルを起動する ##### Call objWsShell.Run("D:\abc\abc\Run.vbs", 1, false) '### Shellオブジェクトの破棄 ### Set objWsShell = Nothing %> <html lang="ja"> <head> <title>ほげほげ</title> </head> <body> ほげほげ </body> </html> -------------------- サーバ側に用意してあるスクリプトファイル Run.vbs -------------------- MsgBox "きっくされました。" -------------------- もしくは -------------------- obj.Run "notepad" (前後のobjのCreateあたりは省略。 -------------------- あたりにしても、うんともすんとも。。。 タスクマネージャーを確認すると、WScript、もしくは、Notepadのプロセス自体は動いているようなので、 キック自体は出来ている?ようなのですが、実行ユーザーが「NETWORK SERVICE」になっているため? 動いてはいないような感じに見えます。(CPUの数値が0固定なので。 該当のファイルのアクセス権限あたりは、NETWORK SERVICEに全権限あたえてみたりしたのですが、 自分の知恵じゃそろそろ方法が出なくなってきまして。。。 http://www.f-store.net/asp/parts-kubun.asp?MODE=START2&key=%82v%82r%82g 実際の、サーバ側に用意したスクリプトでは、さらに別のjsファイルをキックして、その中で、とあるWebページにアクセスして、 そのWebページのHTMLソースをテキストファイルとして保存する。という処理をさせています。 。。。サーバ上で、用意したスクリプトを実行すれば、希望通りの動きになるので、後は、上に書いた、クライアントのWebページからキックしたはずの スクリプトソースがちゃんと動けば。。。と思ってます。 やっぱセキュリティ関連に引っかかり。。。?それとも、何か自分がひどい思い違いをしている?? すみませんが、どなたかお知恵をお貸しください。よろしくおねがいします。m(_ _)m 参考:前質問 http://okwave.jp/qa/q6725891.html

  • SSI #include virtual="~"

    <!--#include virtual="~" --> の「~」のところにhttp://で始まるURLをいれるとSSIが動きません。 <!-- #include file="http://****/***" --> これもダメ。 <!--#include file="~" --> にファイル名を入れるとSSIは動きます。 <!-- #include file="../**/***" --> これも動きます。 私は何か勘違いをしていますか? #windows2000サーバーです。

  • Win2kのServerでASPが動かない

    以下のような状況になって困っています。 Windows2000のProfessionalに IISを導入して、HTMLやASPを動かしています。 こちらでは、特に問題なくHTMLもASPも動いています。 そこで、別のPCでOSが Windows2000 Serverのマシンに同じようにIIS を設定しました。ところが、Serverのほうでは,HTMLはIISを通して見れるの ですが、ASP のファイルを呼ぶと必ず HTTP 500 - 内部サーバー エラー となってしまいます。 HTMLが見えるということはIISが死んでいる、というわけでもないようですし、 IISの仮想フォルダにも、スクリプトの実行権限は与えています。 また、動かないASPは、単純にレスポンスを返しているだけですので、 ODBCまわりの問題でもありません。ASPのマッピングも、外れてません。 で、全然別のPCの Windows2000Serverでは、ASPが動きました。(なぜ?) 今のところ、ASP が動く Windows2000Serverと動かないのとでは、 ORACLE8i(8.1.7)が入っているかどうかぐらいの違いしか分らないのですが (ASPが動かないほうにOracleが入ってます。どっちのWin2kも他人のを  借りてるので、まだ詳しく調べれてないですが) なにかこの辺で情報をお持ちの方はいらっしゃらないでしょうか? (ちなみに、OracleのHTTPサーバサービスは停止させています)

  • Windows2000ServerでASPファイルが公開できません

    Windows2000Serverから、2003Serverにアップグレードしました。 IISでサイトを公開(Webで共有)しています。 Webで共有したフォルダー名&エイリアス名:ABC で、このフォルダーに index.htmlとindex.asp があります。 プロパティ→ドキュメント で、index.htmlを一番上に指定した場合、何も問題なくブラウザから見られますが、 index.aspを一番上に指定した場合、IEで開くと「ページが見つかりません」 と表示されます。 また、http://www.***.jp/abc/index.asp としてIEから開こうとしても、、「ページが見つかりません」と表示されます。 どなたかご存知の方おられましたら、ご教授の程、よろしくお願いします。

  • VISTA HOMEEDITIONのIIS7.0でASPをスクリプト実行させられますか?

    店頭で買ったVISTAです。 IIS7.0をコンポーネント追加しました。 localhostにてWEBサーバーを指定しまして http://localhost/web/test.html 上記のようなURLでIEにてローカルでWEBを表示できました。 HTMLは表示できるのですが、VBSCRIPTを使用した ASPを指定するとエラーになります。 MIMEを.aspに何か指定すればASPをスクリプトとして実行できますでしょうか?

  • 超お馬鹿。 ASPって?

    OS: クライアント Windows2000, サーバ NT4, IIS4 Editor: FrontPage2000 ASP未体験者につき、皆さんに失礼な質問をしてしまいますがお許しください。 Webのクライアント側で何か動作をさせるときにはVBScriptやJAVAなんかでスクリプトを記述することは以前やったことがあります。 ASPは、ASPの文法で書いたスクリプトが記述してあるHTML(拡張子はasp)をWebサーバ(IIS?)に発行するだけで動作するようになるのでしょうか。 それとも、サーバ側にログインして何か作業が必要なのでしょうか。 まったく理解していませんが、見捨てずに教えてください。 よろしくお願いします。

専門家に質問してみよう