• ベストアンサー

接続プロトコル (HTTP, HTTPS) を指定してURLアドレスを記述する場合、相対パスは使用不可?

標記の件で質問です。 <a href="......">、<img src="......"> 等を使用してURLアドレスを記述する場合、HTTP → HTTPS またはその逆に HTTPS → HTTP へ遷移する場合、接続プロトコルを記述する必要がありますが、この場合、相対パスは使用できないのでしょうか? (試してみたところ、絶対パスでないと駄目なようですが) # コンテンツの保守性を左右するので、できれば絶対パスの使用は避けたい......。 ご存知の方、RFCに明るい方、ご教示頂けると助かります。

noname#7749
noname#7749
  • HTML
  • 回答数1
  • ありがとう数4

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

無理。  HTTP→HTTPSというのは、HTTP→FTPやHTTP→MAILTOと同じ事だ。サービスが違えばパスは指定しなおさなければならない。  動的ページが使えるなら、リソースパスを自分で切り盛りして書き換えるようにすればよいが、静的コンテンツのみならあきらめるしかない。

noname#7749
質問者

お礼

了解。 ありがとう。

関連するQ&A

  • HTML記述法:HTTPSページ内のHTTPリンク

    HTTPSページのHTTPリンクを相対パスで記述する方法はあるのでしょうか? ホームページ作成をしています。 別ページへのリンクは、 基本相対パス(../imageなど)で記述されており、 ローカル環境でも動作を検証できます。 ただし、HTTPSページへのリンクは絶対パスで記述しています。 また、HTTPSページ内のHTTPページへのリンクは、 相対パスだとHTTPSでアクセスしてしまうため、 HTTPページへの絶対パスで記述しています。 そのため、HTTPSページをローカル環境で開いた以降の検証ができません。 HTTPSページ内のHTTPページへのリンクを、 相対パスで記述する方法はあるのでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • URLは絶対パス、相対パス、ルート相対パス

    WEBサイトを作成する上で、HTML内に使用するURLの記述方法で悩んでいます。 「絶対パス」、「相対パス」、「ルート相対パス」のどれがいいでしょうか。

    • ベストアンサー
    • HTML
  • URLの相対パスについて

    はじめまして、疑問に思ったことがあるので質問させて下さい。 参考:http://look2.info/sampl2/ 上記URLのような掲示板の作成を考えているのですがこの掲示板の仕様は特殊なようで、 参考2:http://look2.info/r.php/sampl2/57/ のように実際には存在しないフォルダをr.phpでURLを分解して表示しています。 そして参考2のソースを表示すると ハートの画像部分が <img src="/_gif_/63890.gif" border=0> と指定されていてこの画像の絶対パスは http://look2.info/_gif_/63890.gif になります ここで疑問が出てきたのですが、ソースを見る限りでは「BASE HREF」の指定も無いのに、IMG SRCでは相対パスで書かれています。 このURLの場合通常だと、「../../../_gif_/63890.gif」と指定しないとブラウザでは認識しない筈なのですがプログラムで上記のようなことは出来るのでしょうか?? 詳しい方がいればご教授お願いいたしますm(_ _)m

    • ベストアンサー
    • PHP
  • 相対パスの指定

    FindFirstFile(), remove(), OPENFILENAME などのファイルやフォルダのパスを扱うものについて、例えば 実行ファイルと同じディレクトリに有るdat.datというファイルを「dat.dat」とだけ書いて相対指定したつもりが、実行ファイルと同じディレクトリにdat.datが無かった場合にWindowsフォルダなどの特殊なフォルダや、AUTOEXEC.BATに書いてあるフォルダを使ってdat.datが検索されて適用されたりすることはあるのでしょうか? いろいろな関数や構造体が有りますが、相対パスが指定されたとき、絶対パスを作るために使用されるフォルダパスが、GetCurrentDirectory()以外のものが使われることってあるんでしょうか?

  • Excel2010VBAでエラーが出る相対パス指定

     ExcelVBAで,Excel2007と2013で問題無いのに, Excel2010ではエラーが出る相対パス指定について, ご教示を頂けると助かります.  ExcelVBAにて, ○○.dll ファイルを 以下のように宣言して使っています. Private Declare Function LoadTT Lib ".\○○.dll" _ () As Integer  プログラムの中で, ret = LoadTT() を実行すると, Excel 2007では相対パスでの指定で問題無く動作しますが, Excel 2010では相対パスでの指定ではエラー(ファイルが見つからない)"48"が出ます. そこで,相対パス指定をやめて絶対パスに変更すると問題無く動作します.  念のため Excel2013でも試したところ, 2007と同様に,相対パス指定でも問題なく動作しました.  なお,ExcelVBAのファイル「○.xlsm」と「○○.dll」は同じフォルダーに入れています.  また, ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path の実行によるカレントフォルダーの確認も,どのバージョンでも同じに正しく確認出来ています.    因みに,バージョンの違う各Excelは別々のPCでの動作ですが,使用OSは Windows7 Professional 32bit で同じです.  以上のように Excel2010だけ動作が異なります.  とりあえずは絶対パス指定にすれば問題は解消するのですが, Excel2010で特に何か設定したということは無いので気持ち悪く, 原因と思われることでご存じ方がいらしたらご教示を頂けると助かります.  どうぞよろしくお願い致します. ==

  • 階層が違う場合の絶対パス相対パスについて

    kari.htmlにある内容のボックスがあるとして、 それはCSSでデザインされ、画像も入っています。 この下の階層の menu.htmlの中にkari.htmlで使ったある内容ボックスの同じものがまるまる入ります。 なので、kari.htmlの内容を更新してコピーしてmenu.htmlにもはります。 この場合、画像やCSSを相対パスではなく、絶対パスにしておくと、階層が異なっても きれいに入ります。 ../からではなく、/から始まるパスです。 このやり方は間違っているのでしょうか? 同じようにページ、階層を渡って共通部分には絶対パスをしています。 こういうふうに使い分けしていくものでしょうか? phpでインクルードしてもいいんですが、他にもインクルードが多々あるので、 ページ内でそんなにインクルードあってもいいものかと思いまして。。(勝手な勘違いでしょうか?) 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • <img src="相対パス">の絶対パスへの変換

    htmlで、 <img src="相対パス">が指定されている場合、絶対パスに一括変換する方法はありますか? すなわち <base href="~"> のようなことは出来ないでしょうか?

  • #pragma commentの相対パス指定

    #pragma commentの相対パス指定について、希望の動作をしないません。 状況は以下の通りです。 libというフォルダの中にlibA、libBの二つのフォルダがあり、それぞれのフォルダの中には、lib_a.lib、mylib_b.libというファイルがあるとします。 lib -libA -lib_a.lib -libB -lib_b.lib またライブラリディレクトリにはlibのパスのみが指定されていたとします。 この状況で#pragma comment(lib,"libA\\lib_a.lib")とすると、 「LINK : fatal error LNK1104: ファイル 'libA\lib_a.lib' を開くことができません。」 と出てしまいます。 #pragma commentの中では、相対パスは使えるはずなのですが、なぜこの場合はリンクが出来ないのでしょうか? ちなみに絶対パスで指定した場合はエラーは出ません。 できればフォルダで分割してライブラリを管理したいと考えているので、何か解決方法をご存知の方がいれば、ご教授ください。 環境は ・OS:Windows7 ・使用ソフト:Visual C++ 2010 Express ・言語:C++ です。

  • ZIPファイル作成時に相対パス指定可能なアーカイバツールは?

    標記の件で質問です。 ZIPファイルを作成する際にファイルのパス情報を保持したいのですが、現在私が使用しているツール(LHUT32)では、相対パス指定ができないため、対象ファイル(フォルダ)が深い階層に配置されているときに不都合です。 例えば、 D:\aaa\bbb\ccc 以下をZIPファイルにするとき、 ccc を基準フォルダとする相対パスで作成できると便利なのですが、そのようなツールはありますか? (LHA等、他のファイル形式でも同様)

  • インクルードパスを相対パスで指定

    Visual C++ 2017を使用したプロジェクト開発で、次のようなディレクトリ構造になっているとします。 root/  └ dev/    └ L1/      ├ L2/      │ ├ L3/      │ │ └ L4/      │ │   └ MyProj(開発用ディレクトリ)      │ └ foo/      │      └ include/ プロジェクトファイルやソースファイルは全てMyProjの直下にあります。 L2と同じ階層にあるincludeディレクトリにあるtest.hをソースファイルにインクルードするために、次のような#include文を記述します。 #include "../../../include/test.h" これで問題なくコンパイルが通ります。 次に、プロジェクトのプロパティの「追加のインクルードディレクトリ」に"../../foo"を追加します。 これは次のようなオプションと解釈されてコンパイラに渡されます。 /I"../../foo" fooというディレクトリのみを参照パスに追加するつもりで、プロジェクトファイルからの相対パスで指定しました。 さてここで#include文を次のように書き換えてみました。 #include "../../include/test.h" これでコンパイルが通るのです。 ソースファイルからtest.hへの相対パスは ../../../include/test.h のはずですが、なぜこれでコンパイルが通るのでしょうか? ちなみに「追加のインクルードディレクトリ」に何も指定しない状態では、includeファイルを開けないと出てコンパイルエラーとなります。 なのでこの設定が影響しているのだとは思いますが。

専門家に質問してみよう