アプリ版:「スタンプのみでお礼する」機能のリリースについて

htmlアクセス時においてURLリダイレクトする方法についてお伺いします。
htmlの<meta refresh=..>やjavascriptのlocation.replace、.htaccessのredirectとリダイレクトの方法はいろいろあるようですが、今回はcgi+ssiで実現したいと思っています。
そこで質問なのですが、htmlからSSIを使用して<--!exec cgi="./redirect.cgi"-->のようにしてリダイレクトさせるにはどうすればよいのでしょうか。

cgiではhttpdヘッダのlocatinでURLを指定することで、リダイレクトは可能だと思います。
そしてそのリダイレクトするcgiを直接呼び出したり、フォームで呼び出すことでの動作は正常に確認しました。
しかしhtmlからSSIのexecやvirturlなどを使用してのリダイレクトがどうしてもできません。もちろんSSI,EXEC使用可能なサーバーです。
どうぞよろしくお願いします。

A 回答 (2件)

SSIの動作を考えてみるとなぜLocationヘッダが意味がないのかわかると思います。



サーバはSSIの構文解析の過程でperlスクリプトを呼び出し、その出力結果を元のhtmlに挿入してブラウザに送出します。
SSI用のPerlスクリプトの吐き出す結果はヘッダ以外の部分だけがhtmlの一部として間接的にブラウザに渡るのでヘッダは無意味なのです。

SSIについてはあまりわかっていないのでうまく説明できているかどうか・・・
無意味とか言い切っちゃったけどlocation以外の・・例えばExpires(有効期限)とかはサーバがキャッシュしていいかどうかの参考に見ているかも??
    • good
    • 0
この回答へのお礼

Locationについては何となく理解いたしました。
Expiresについて調べてみたいと思います。質問におつきあい頂き、ありがとうございました。

お礼日時:2005/01/14 17:13

SSIで呼び出してLocationヘッダを出力しても意味がないのでそのスクリプトで<meta refresh=..>を出力してはど

うでしょうか?
    • good
    • 0
この回答へのお礼

>>SSIで呼び出してLocationヘッダを出力しても意味がない

なるほど出来ないのですね。


サーバーが.htaccess使用不可で、javascirptを使用せず、なおかつブラウザに履歴が残らない方法を考えていたのですが、残念です。

ありがとうございました。

失礼ではありますが後学のために、SSIで出来ない理由をご教授いただけるとものすごく助かります。

お礼日時:2005/01/13 19:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!