- ベストアンサー
ルート相対パスの使い方とは?SSLのデバッグ環境でのエラーについても教えてください
- ルート相対パスは、テスト時でも納品後でもURLの変更をしなくて済む方法です。
- ルート相対パスを使用することで、静的なファイルやプログラムの修正をする必要がありません。
- SSLのデバッグ環境では、セキュリティに問題があるエラーが出ることがありますが、テスト環境なので問題ありません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ルート相対パス、もしくは相対パスで全部記述すればいいです。 SSLのエラーは、証明書の問題ですからどうでもいいです。 確認すべきは、目的のページアクセスができているかどうかです。 そもそもページ自体の飛び先がhttpsになってないとか、 ページ内でhttpsアクセスになってない要素(imgとか)があるとか。
その他の回答 (4)
- think49
- ベストアンサー率59% (285/482)
「ルート相対パス」で用語の混乱が見られるようなので補足しておきます これは Adobe が提唱している「サイトルート相対パス」から来ていると思われます。 下記にAdobe, RFC の説明を併記します。 ■Adobe の説明 - 絶対パス (http://www.adobe.com/support/dreamweaver/contents.html など) - ドキュメント相対パス (dreamweaver/contents.html など) - サイトルート相対パス (/support/dreamweaver/contents.html など) ※http://helpx.adobe.com/jp/dreamweaver/using/linking-navigation.html でリンクの種類の説明有。 ※http://helpx.adobe.com/jp/dreamweaver/kb/233307.html によるとDreamweaver ヘルプでも説明されている模様。 ■RFC2396 (URI: Generic Syntax) の説明 - 絶対パス (文中に該当語なし。RFC2396に倣うならBNF式 "abs_path" が該当。) - 相対URI (BNF式 "relativeURI" で定義。相対パス、絶対パス、認証URI、クエリ文字列の組み合わせ総称) - 絶対URI (BNF式 "absoluteURI" で定義。 http://www.adobe.com/support/dreamweaver/contents.html など) ※http://jbpe.tripod.com/rfcj/rfc2396.ej.sjis.txt に原文(和訳)有。 ■RFC3986 (URI: Generic Syntax) の説明 - 相対パス (該当語なし) - 絶対パス (BNF式 "path-noscheme" で定義。 /support/dreamweaver/contents.html など) - 相対参照 (BNF式 "relative-ref" で定義。RFC2396における相対URIに相当。) - 絶対URI (BNF式 "absolute-URI" で定義。 http://www.adobe.com/support/dreamweaver/contents.html など) ※http://www.ietf.org/rfc/rfc3986.txt に原文あり。 RFC とはインターネット関連技術の標準化団体を指し、この規定が標準と思って差し支えありません。 Adobe は「サイトルート(公開サーバのルートディレクトリ)からの相対パス」という意味で「サイトルート相対パス」と表現していますが、これは RFC 定義の「絶対パス」を指します。 また、Adobeが説明する「絶対パス」は RFC における「絶対URI」を指します。 特に「絶対パス」の定義がまるで違いますので、他人に説明するときに誤解を招かぬよう RFC 定義で覚えておくことをお勧めします。 # Re: jg1wjzさん
お礼
think49さん、 大変詳しく正確な回答、有難うございました。 他の人に説明できるよう、勉強します!
- ORUKA1951
- ベストアンサー率45% (5062/11036)
いやはや、そんな基礎的なところで・・大丈夫ですか?? HTTPプロトコルとブラウザの基本的な動作ですが・・ たとえば GET: http://hoge.com/abc/def.html というファイルは、 http:HTTPプロトコルで // インターネット上の hoge.com サーバーにある /abc/efg.html というファイルを要求します。 hoge.comというHTTPサーバーは、そのファイルを提供し(実在の有無は関係ない) そのファイルを提供し ブラウザは、そのページを提供したサーバーやプロトコル、ファイル名を知っているので、そのページ(http://hoge.com/abc/def.html)内に src="/abc/abc.jpg" なら、 hoge.comに、HTTPプロトコルで、/abc/abc.jpg を要求しますし src="../aa.gifなら、hoge.comに対して、HTTPで /aa.gifを要求します。 スタイルシートがあれば、同様ですし、 そのスタイルシートに@importがあれば、そのスタイルシートからのパス http も https も通信経路が暗号化されるだけで内部処理は変わりません。テスト用はhttp://local.hostで試せばよいだけです。
お礼
ORUKA1951 さん、ありがとうございます。 お恥ずかしい話ですが、WEBシステムの基礎的な知識がないまま、 オフライン系のプログラマーから移行していまして。。。 そして、いろいろな事情もあり、周りには教えてくれる人は誰もいません、と言いますか 私一人です。 よく知らないまま、いろんな掲示板でお世話になりながら ここまできてしまいました。^^; おっしゃっていることはだいたいわかります。 でも じゃあ、説明してみろ! といわれたら、言葉に詰まります。 正しい用語で説明できない。。。 勉強不足も承知しています。 これでいいのか、毎回悩んでいるのも事実です。 それでも限られた時間内で仕上げなければならず、突貫工事のような毎日。 >http も https も通信経路が暗号化されるだけで内部処理は変わりません。テスト用はhttp://local.hostで試せばよいだけです。 他者さんの開発したシステムも参考にさせていただきながら、これも掲示板などで 教えていただきました。 そしてそれを実際に実現するに当たり、試行錯誤で質問させていただきました。 周りには教えてくれる人も、うなづいてくれる人も、誰もいないので 基礎的なこと、単純なことかもしれませんが質問させていただきしまた。 暖かいご指導、感謝いたします。 今後ともよろしくお願いいたします。
基本的な設計が悪いだけです。 >cgiアプリのプログラムで、必要な箇所に"https://localhost/"を、くっつけるよう直していましたが これもおかしい。 ディレクトリ構成を利用者・開発者で同じ環境を用意すれば良いこと。 社内SEもあなたも勉強不足。 絶対パスでも相対パスでも、環境の設計さえ統一できれば問題は生じないです。 たぶん、あなたは前任者から開発を任されたのかと思います。 今回を契機に、サイトのディレクトリ構成を、依頼者と意識統一したほうが良いと思います。 それを行うだけで、後継者の作業は楽になります。
お礼
Indomethacinさん、有難うございます。 >これもおかしい。 すみません、自分のコーディングレベルで書いてしまいました。 debugなので localhost で。 実際にはお客様の環境のURLになります。 >ディレクトリ構成を利用者・開発者で同じ環境を用意すれば良いこと。 ディレクトリ構成は同じと思います。 (サーバーを構築して納品) >社内SEもあなたも勉強不足。 おっしゃるとおりです。 面目ない。。。 あっ、いろいろな事情があり、社内SEはいません。 >今回を契機に、サイトのディレクトリ構成を、依頼者と意識統一したほうが良いと思います。それを行うだけで、後継者の作業は楽になります。 ディレクトリ構成は全てルート直下で動いています。 ログファイルだけは別ディレクトリに保存。 (こんな回答でいいのか???) 今回、後任者もできそうで、いろいろ統一化・共通化に向けて動こうとしていますが 個人的には、全て作り変えたほうがいいと思ってるしだいです。 なにしろ、一ヶ月かかる工数を「とりあえず動けばいい」と言われ それこそ詳細仕様も把握できないまま一週間で作り上げ、作り上げてしまえばそこのところはもうノータッチ、異常系bugが出たら大騒ぎ?! 周りはみんな「敵」 ・・・すみません、愚痴ってしまいました。 気を取り直して、ご指導有難うございました。
- t_ohta
- ベストアンサー率38% (5238/13705)
書かれている方法は相対パスでは無く絶対パスですね。 プロトコルやホスト名を省略しておけば、ブラウザはその時使用しているプロトコル、ホスト名を使って補完してくれるので、ディレクトリ構造が変わらなければ本番環境へ移しても修正は必要なくなります。 また、相対パス(src="../hoge/x.png" って感じ)でもプロトコルやホスト名を省略しているので、ブラウザが補完してくれるためディレクトリ構造が変わらなければそのまま使えます。 「セキュリティに問題があります」はテスト環境のFQDNとSSL証明書のFQDNが異なっているから出るんじゃないでしょうか。 予算に余裕があるならテスト環境用のSSL証明書を取得するという手もありますが、無駄な出費だと思いますので、そのままテストするのがいいのではないでしょうか。
お礼
t_ohta様、早々の御回答ありがとうございます。 今までは SRC="hoge.png" action="hogo.exe" などとしていましたので SRC="/hoge.png" action="/hogo.exe" だけでいいのですね! 助かりました。 ありがとうございます。
お礼
naktakさん、ありがとうございます。 まだこれから試験ですが、 トップページは表示できています。 DBをまだ作成していないので、これから環境を整えます。 >SSLのエラーは、証明書の問題ですからどうでもいいです 安心しました! ありがとうございました。