• ベストアンサー

Apacheでも互換性

WindowsでApache2.0.49を使っています。 Linuxは1.3.27を使っています。 Linuxでは漢字をのURLエンコードしてそれをURLの一部で用いても正しくRewriteできていましたが、Windows版では、振る舞いが違うのか 500のエラーが表示されます。 根本的なことを知らないのですが、Windows版とLinux版では同じApacheでも互換性の無いところがあるのでしょうか?

  • CGI
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • feininger
  • ベストアンサー率41% (74/180)
回答No.2

漢字などを含んだディレクトリやファイルにアクセスしようとしていますか? WindowsではShift-JISなので、例えば "あ" だと %81%A0 です。 EUCだと %A4%A2 になります。 URIエンコードするところはOKですが、 元の文字コードが異なるためにエラーになっているんじゃないかな?

その他の回答 (1)

  • kircher
  • ベストアンサー率47% (11/23)
回答No.1

ちょっとピンとこないのですが、GETで渡す変数のことでしたら、漢字を含めた英数字と一部の記号以外は使うべきではないとされているはずです。確かに使えるときもあるのも事実ですが、使えることは保障されていないはずですので、URLに使えるようにエンコードしないと色々と面倒なトラブルに悩まされるかもしれません。 %20 :スペース %40 :@ のような感じです。 漢字を変換する関数がいるとは思います。

関連するQ&A

  • ApacheのURLエンコード

    URLエンコードで悩んでおります。 LinuxのApache1.3系では URLエンコードはGETで正しく処理できますが、 WindwosのApache2.0系では正しい値が取得できません。 ちなみにPOSTは漢字でも両方処理できました。 URLエンコードでApacheの設定で注意しないといけない点がありましたら 教えて下さい。 はてな ではLinuxのようです。 Apache/1.3.27 (Unix) (Vine/Linux) mod_perl/1.29 http://d.hatena.ne.jp/keyword/%c5%d4%b1%c4%c2%e7%b9%be%b8%cd%c0%fe?kid=930

  • Apacheのドキュメントルートについて

    これまでwindows版のApacheを使ってきて、htmlファイルを配置するのはhtdocsでした。 今回Linux上でApacheを使うことになったのですが、本を読んで見ると、/var/www/~がドキュメントルート となっています。 しかし、windows版と同じくhtdocsはあります。 Linuxの場合、htdocsなのか、/var/www/~のどちらにhtmlファイルやPHPファイルを配置したらいいですか?

  • apacheにおいてmod_rewriteのRewriteRuleを動的に設定したい

    apache2.xにおいて、mod_rewriteを用いて URLの動的な書き換えを行っていますが、 正規表現ではなく、URLの一部を用いて、外部(DB等)に問い合わせて、 その結果を元に書き換えができる方法を探しています。 例えば http://example.co.jp/aaa/ というURLにアクセスがあった場合、 aaaをキーにしてDBに問い合わせて、その結果を元に rewriteを行う、といったイメージです。 mod_rewriteのマニュアルを読んだのですが、 そのような事が出来そうな項目はありませんでした。 方法or代替策等ご存じの方 教えていただければと思います。

  • Windows版ApacheとLinux版Apacheの違い

    ApacheでWebサーバを立ち上げる予定ですが、Windows版ApacheとLinux版Apacheでは機能・性能上の違いがあるのでしょうか。また、セキュリティホールが発見された場合、Windows版の場合、最新バージョンに再インストールしなければならないのでしょうか。その場合、Apacheの設定ファイルやHTMLのファイルは初期値に戻ってしまうのでしょうか。

  • Apacheのmod_rewriteでURLの書き換え

    Apacheのmod_rewriteでURLを書き換えたいと思います。 ルートデイレクトリは"C:/Program Files/Apache Group/Apache2/htdocs"です。   そして、http://localhost/sample/ と打ったときに、"C:/Program Files/Apache Group/Apache2/htdocs/sample"ではなく、"C:/tmp/test"にアクセスされるようにするには、httpd.confにどのような設定を追加すればよいのでしょうか? Apache 2.0.63 Windows Vista

  • apacheのrewriteについて

    apacheのrewriteについて 現在Google検索でうちの各ページが独自ドメインではなくレンタルサーバ会社の仮ドメインが表示されていて困ってます。 しかもhttps://~~~になっており、証明書のエラーが出て1回では接続できない状態です。 原因はhttps://www.hogehoge.co.jp/cgi-bin/aaa.cgiにcgi-binではないフォルダにある画像ファイルをリンクさせたからのようです。現在はcgi-binフォルダに画像を入れてリンクさせています。 取り急ぎの対応としてapacheのhttpd.confにrewriteを使用するとうまくいくのではないかという話を聞きました。 うちの独自ドメイン名:http://www.hogehoge.co.jp/ サーバ会社の仮ドメイン名:https://abc.foo.com/ httpd.confにどのように書くとうまく検索結果から一発で表示できるようになるのでしょうか? よろしくお願いいたします。

  • Apacheの設定(Windowsサーバー)

    Windows2003サーバにApacheを導入しました。 http://localhost/ とURLを入力すると「Index of /」と表示され フォルダ構成が表示されます。 これをページを表示できません等のエラーで 表示させない方法を教えてください。

  • URLに画像表示 (Apache)

    ブラウザのURL表示バーに画像を入れたいのですが どのようにすればいいのでしょうか? OSはLinux、httpdはApacheは1.3.27です。 また、そこに入れる画像素材のおいてある ホームページも教えて下さい。 よろしくおねがいします。

  • Apacheのエラー画面

    よろしくお願いします。 以下の要件がある場合、Apacheの設定で実現は可能なのでしょうか?。 (ブラウザはIE8を想定しています) 1.URLの直打ちなど正しいリンクで画面が遷移されなかった場合、ログイン画面を表示させる 2.Apacheでエラーが発生した場合は、「管理者にご連絡ください」など障害の画面を表示させ、 「Internal Error」などシステムのエラーはユーザに表示させない。 3.URLのGETパラメータが見えないよう、URL文字列を暗号化して表示する すみませんが、アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • アパッチPHPについて

    PHP初心者です OS windows vista 今回xamppをインストールしたのですが、 以前アパッチを単体でインストールしたことが影響しているのか、 ブラウザでの表示がうまくできません Object not found! 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 404 となってしまいます 単体でインストールしたアパッチをゴミ箱に入れて消したのですが、 これでは不十分でしょうか? 正しいアンインストール方法ご教示お願いします

    • ベストアンサー
    • PHP