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

楽天のiframeについてご質問されていただきます。

GOLDにあるヘッダーとサイドナビのhtmlを呼び出したく(トップページ自体はGOLD使っていません)
[ヘッダー・フッター・レフトナビのテンプレート設定]でiframeのコードで呼び出そうとしているのですが、相対パスがよく分からないので、絶対パスで書きました。

すると、「ご利用いただけない文字が入力されています」と弾かれてしまいました。
弾かれた文字は http://~ の 「:」でした。
他の楽天サイトを見てみても上手く反映されているようなのでよく分かりません。。
URLはコピペで貼り付けたのでそれ自体は問題ないと思うのですが…

私が書いたiframeのコードは以下のような感じです。

<iframe src=”http://www.rakuten.ne.jp/gold/〇〇〇〇/header.html” name="header" width=”100%″ marginwidth=”0″ height=”287″ marginheight=”0″ scrolling=”no” frameborder=”0″ hspace=”0″ vspace=”0″ id="frame_header"></iframe>

何か不備等ありましたら教えていただきたく思います。
どうぞよろしくお願いいたします。

質問者からの補足コメント

  • 「:」は半角になっています。

    「ご利用いただけない文字が入力されています」になる考えられる理由を楽天ご利用の方、お答えいただけたら幸いです。。

      補足日時:2016/03/07 19:41
  • URLが悪いのでしたら、楽天RMSの[ヘッダー・フッター・レフトナビのテンプレート設定]から楽天GOLD内までの相対パスを知りたいです><

      補足日時:2016/03/07 19:44
  • つらい・・・

    確かにそうですね…相対パスですもんね混乱してました。。

    すみません。最後の三行よく分からないです><;
    絶対パスの場合、別のサーバーにあるものを呼び出すこと出来ますよね??

    絶対パスにある「:」を外すと次のページに進めます。
    だけど、当然ながら404エラーが出てしまいます。
    「:」をつけると「ご利用いただけない文字が入力されています」と出ます。
    その原因がよく分からないのです…。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/03/08 14:10

A 回答 (3件)

:と全角になっているのじゃないの。


それとも、http:で外部を呼び出せない。
 なら相対パスで試したら・・・。

ただし、HTTPサーバーが異なれば相対パスは使えません。
同じなら絶対パスでの指定もできます。その場合の絶対パスはルートから始まるパスですから簡単ですし、そのファイルがどこにあっても書き換えなくて済む。
    • good
    • 1

繰り返しますが・・・よく読んでください。


相対パスが使えるのは、同じサーバーの時だけです。
絶対パスは、それ以外でも使えます。
「相対パス」は簡単でよいのですが、あるファイルを他の場所や階層に移動すると整合性が取れなくなりますから、できるだけルートに近いところから下る。
 それならいっそ「絶対パスにすればよい」

:がはじかれるということは、同じサーバ内のデータでなければだめだというとこと。

だったら、【絶対パス】で指定しましょう。

No.の回答も参考に。
この回答への補足あり
    • good
    • 1

URLに使える文字とその意味は絶対に必要な基礎ですから、間違えないように


http:
は通信プロトコル(手続き)を指定します。
 ほかに、https:とかmail:とか、色々ある
//はインネット
そのあとに続くアルファベットと.はドメイン--というかサーバーのアドレスを指定する。
この部分だけは、大文字小文字の区別はない。WWW.RaKuten.NE.jpでもね。
/ 最初はルート(根っこ)を示す。
以下は、パス情報、
 ファイル名の指定ではない。abc.htmlと書かれていてもファイルとは限らない
?以降はQueryStringというサーバーに与える情報

そのあと、情報のヘッダが続き、場合によったら標準入力で情報を渡す。

よって、他のサーバーにある情報をifrqmeで使わせないようにするには、:だけを監視すればよい。httpや/はチェックしてはならない。
 これはわかりますよね。/hyyp/ht./かもしれないので・・
★他のサーバーにある情報をifrqmeで使わせないようにする

 なら同じサーバーなら、絶対パスで指定すればよい(回答1)

すなわち
href="/gold/〇〇〇〇/header.html"
 これで【呼び出し元のファイルがどこにあっても】ブラウザは
GET:/gold/〇〇〇〇/header.html
とサーバーに要求してくれる。
 自分でHTML書く時だって、
<img src="/images/photo/abc.jpg"・・・
<a href="/">TOP</a>
<a href="/books/abc.htl">
とすれば、そのファイルをどこに持って行ってもHTML書き換えなくてよいでしょ。(^^)
    • good
    • 0
この回答へのお礼

分かりやすく丁寧な解説ありがとうございます!
すっごく勉強になります。もっと基礎をしっかり勉強しようとおもます><
今後URLの文字の事を頭に入れて活かせていきたいと思います!

あと、解決しました(T^T)
楽天RMSを再度ログインしなおして、弾かれていたiframeのコードと全く同じものを貼り付けるとすんなり通りました。。
原因は分からないままですが…お騒がせしました><;

丁寧にご回答いただきありがとうございました♪

お礼日時:2016/03/10 10:14

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