ここから本文です

phpファイルで外部CSSを読み込むときですが、 URLに$_GETでパラメーターを与える...

b10********さん

2017/10/410:38:54

phpファイルで外部CSSを読み込むときですが、
URLに$_GETでパラメーターを与えると、
CSSが反映されないという症状になっており解決できず困ってます

【OK】
https://~~~~/test/sample.php
<link rel="stylesheet" type="

text/css" href="test/sample.css" />

【NG:?par=1を与えるとCSSが適応されない】
https://~~~~/test/sample.php/?par=1
<link rel="stylesheet" type="text/css" href="test/sample.css" />

外部パラメータを与える場合、CSSの参照の仕方も
変わるのでしょうか

よろしくお願いします。

閲覧数:
47
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shi********さん

2017/10/411:53:50

>【NG:?par=1を与えるとCSSが適応されない】
>https://~~~~/test/sample.php/?par=1

https://~~~~/test/sample.php?par=1 でなく、sample.php/?par=1 になっているのはどういう意図でしょうか?

少なくともブラウザは「sample.phpというディレクトリにあるファイルに対してpar=1というQueryStringを渡している」と解釈しています。ファイル名は省略してもDirectoryIndexで指定されたファイル(index.htmlとかindex.phpとか)が返ってくるので、ファイル名が空なのは無視しています(サーバ側で適切なファイルに渡してくれると信頼している)。
ブラウザは今現在のURLのディレクトリ部分がhttps://~~~~/test/sample.php/だと思っているので、href="test/sample.css"を取得するときにはhttps://~~~~/test/sample.php/test/sample.css を要求しているハズです(HTTPのやりとりを確認すればわかると思います)。



https://~~~~/test/sample.php?par=1 でアクセスしてください(他からリンクを張っていれば修正する)。

もし、現在のURL(https://~~~~/test/sample.php/?par=1)のまま運用したければhref属性やsrc属性の記述はすべてURL(href="https://~~~~/test/test/sample.css")もしくはDocumentRootからのpath(href="/test/test/sample.css")で書かないといけません。

質問した人からのコメント

2017/10/5 09:40:15

shimix703さん

https://~~~~/test/sample.php?par=1で修正できました。

おっしゃる通りでCSSは/test/の直下にあるので
パスの指定の仕方を勘違いしてました。

ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

nan********さん

2017/10/410:45:54

https://~~~~/test/sample.php/
でもだめだったりしませんか?
/ を書いたので、カレントを勘違いしているのかもしれません。
test/sample.css
を絶対パスで書いたら行ったりして。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる