Apache 2.2 ,PHP5.3 Codeigniter と、mod_rewrite を使用しています。
以下のようなjavascriptで飛び先を指定しています。
<input ... onclick="javascript:location.href='/controler/csv/?&name=あああ&date=20130720';">
こんなコードですが、IE7と8 で、画像のエラーが出ます。(IE9, FF , chrome などでは正常)
mod_rewrite と Codeigniterを使わずに、
<input ... onclick="javascript:location.href='method.php?&name=あああ&date=20130720';">
で飛び先をしてすると問題なくサイトを開くことができるですが。
mod_rewrite と Codeigniterは、どうしても使用しなければなりません。
location href ie8 エラー などでググっては見ましたが、自分では解決できないと
思いました。
どなたか知恵をください。お願いします。
そのご質問だとどうしても推測になってしまうので、ソースを見せてくれればなあ、と思います。
HTMLは読み込めるが画像がリンク切れ、ということなので相対パスで参照している画像ファイルが読み込めてないような気がします。
表示されていない画像を右クリックするなどして、どのようなパスで画像にリクエストが飛んでいるのか確認してみるというのはいかがでしょうか。
IE7,8の表示が異なるということなので、ひょっとするとBASE要素によるものかもしれません。
あと、だわかきさんの説明は間違っているような気がします。RFC違反じゃないと思いますが。
どのようなCodeigniterとmod_rewriteを書いているのか分かりませんけど、
/controler/csv/?&name=あああ&date=20130720
この部分の表記が RFC 1738 Uniform Resource Locators (URL) に未定義の書き方です。
ftp://ftp.isi.edu/in-notes/rfc1738.txt
?や&はファイル名の後に書かなくてはいけません。
またまた IE9, FF , chrome では動いているのでしょうが、他のブラウザでどのように動くかは保証されません。
ありがとうございます。
わかりました。保証は無いということですね。
そのご質問だとどうしても推測になってしまうので、ソースを見せてくれればなあ、と思います。
HTMLは読み込めるが画像がリンク切れ、ということなので相対パスで参照している画像ファイルが読み込めてないような気がします。
表示されていない画像を右クリックするなどして、どのようなパスで画像にリクエストが飛んでいるのか確認してみるというのはいかがでしょうか。
IE7,8の表示が異なるということなので、ひょっとするとBASE要素によるものかもしれません。
あと、だわかきさんの説明は間違っているような気がします。RFC違反じゃないと思いますが。
あ、そういうことでしたか。失礼しました。
どうも、URLの拡張子の影響を受けてるように感じます。CodeigniterでURLサフィックスをしてみるというのはどうでしょうか。
ちなみにレスポンスヘッダのContent-TypeやContent-Dispositionは正しく設定されていますでしょうか?
ありがとうございます。
Codeigniterの ['url_suffix'] = '.html' にして、
site_url('syouhin/csv/'.$query_string) で以下のようなパスしてにしました
<input ... onclick="javascript:location.href='https://www.mydomain.jp/index.php/syouhin/csv/urlencodeした"あああ"/20130720.html';">
しかし同じく画像のエラーダイアログで、
「www.mydomain.jp - 20130720.html をダウンロードできません。
…直してください。」
となります。
PHPによるレスポンスヘッダーは、以下を送出しています。
header("Cache-Control: public"); header("Pragma: public"); header('Content-Type: application/vnd.x-excel; charset=Shift_JIS'); header('Content-Disposition: attachment; filename="pref_' . date('YmdHis') . '.csv"');
取り急ぎの返信でした。
あ、そういうことでしたか。失礼しました。
2013/07/21 18:14:46どうも、URLの拡張子の影響を受けてるように感じます。CodeigniterでURLサフィックスをしてみるというのはどうでしょうか。
ちなみにレスポンスヘッダのContent-TypeやContent-Dispositionは正しく設定されていますでしょうか?
ありがとうございます。
Codeigniterの ['url_suffix'] = '.html' にして、
site_url('syouhin/csv/'.$query_string) で以下のようなパスしてにしました
しかし同じく画像のエラーダイアログで、
「www.mydomain.jp - 20130720.html をダウンロードできません。
…直してください。」
となります。
PHPによるレスポンスヘッダーは、以下を送出しています。
取り急ぎの返信でした。
2013/07/21 20:38:46