- PR -

サーバによってcssが読み込まれない件

投稿者投稿内容
jin
ベテラン
会議室デビュー日: 2004/03/11
投稿数: 96
投稿日時: 2005-09-06 00:42
お聞きしたいことがあります。
サーバを2つ所有しており、どちらも同じ条件で設定してあります。
しかし、同じ条件で設定しているにもかかわらず、全く表示が違います

Webサーバにて、具体的にはAサーバではcssが読み込まれて、Bサーバではcssが読み込まれず、表示されてしまいます。

apacheのhttpd.confの設定も全く同じ(一部dns(servername)等の設定は違いますが)です。
パーミッションもフォルダは755、cssファイル類は644と設定しています。
属性のオーナーも所有しているユーザーとなっています。

いずれもIE,Firefoxにて確認を取っているのですが、Bサーバは必ず両方cssが読み込まれません。
何か、サーバ上で設定をし忘れているのでしょうか。
どなたかお分かりになる方ご教授願いたいと思います。
よろしくお願いします。

環境:2台とも同じ
Redhat9
apache 2.53
bind9 Aサーバ



[ メッセージ編集済み 編集者: jin 編集日時 2005-09-06 00:54 ]
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-09-06 01:03
こんばんは。

とりあえず、状況判断には証拠が足りない状況だと思います。
これくらいは挙げないと厳しいような。

 ・同一のコンテンツ、ディレクトリ配置で試しているか
 ・HTMLファイルの中で、css をどのように指定しているか
 ・ブラウザからは、どのようなリクエストが送信されているか
  ( ブラウザのキャッシュをクリアした上で試し、アクセスログを確認 )
 ・サーバでエラーが出ていないか
  ( エラーログを確認 )
 ・サーバの設定の差は
  ( 全く同じであるなら、diff あたりで念押しするのがよろしいかと )

以上、ご参考まで
jin
ベテラン
会議室デビュー日: 2004/03/11
投稿数: 96
投稿日時: 2005-09-06 02:18
angelさんありがとうございます。

>・同一のコンテンツ、ディレクトリ配置で試しているか
同じディレクトリを設置し同じユーザです。

>・HTMLファイルの中で、css をどのように指定しているか
<style title=visualStyle type=text/css>
@import url( ./css/style.css );
</style>

結果、IEではA,Bサーバともに表示されます。
FirefoxではAサーバでは表示される、Bサーバでは表示されない。

>・ブラウザからは、どのようなリクエストが送信されているか
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /index.html HTTP/1.1" 200 4574
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /css/style.css HTTP/1.1" 200 4039
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /favicon.ico HTTP/1.1" 404 312

>・サーバでエラーが出ていないか
[Tue Sep 06 02:00:32 2005] [error] [client *.*.*.*] File does not exist: /home/hogehoge/public_html/favicon.ico

>・サーバの設定の差は
  ( 全く同じであるなら、diff あたりで念押しするのがよろしいかと )
違う点といえば
DocumentRoot
Alias /cgi-bin/
の部分だけです。


もうさっぱりで分かりません。
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2005-09-06 09:00
telnetで接続してみたらどうなりますか?

ファイル名を指定して実行>cmd
telnet [server_name|ip_addr] 80

GET /css/style.css HTTP/1.1<Enter>
Host: server_name<Enter>
<Enter>

レスポンスヘッダに違いが無いですか?
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2005-09-06 09:31
ちょっと興味深い事象なので、ちょこっと・・・
引用:

>・ブラウザからは、どのようなリクエストが送信されているか
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /index.html HTTP/1.1" 200 4574
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /css/style.css HTTP/1.1" 200 4039
*.*.*.* - - [06/Sep/2005:02:00:32 +0900] "GET /favicon.ico HTTP/1.1" 404 312


これ、Aサーバに対してもBサーバに対してもこの通りなのですよね?
GET /css/style.css HTTP/1.1 200
と来ているからには、css自体は取って行っている(読みこまれている)はずでは?

となると、その内容が正しいのか?もしくはちゃんと適応されているのか?という所じゃないかなぁ。

http://****/css/style.css を直接取ってみて、期待通りの内容なのか?
それを適応するHTML文書の方を出来るだけシンプルにしてみて、cssの内容が適応されるのか?を実験してみるといいかもしれません。
jin
ベテラン
会議室デビュー日: 2004/03/11
投稿数: 96
投稿日時: 2005-09-06 10:01
jkさんありがとうございます。

telnetにて行ってみました。

(Aサーバ)
HTTP/1.1 200 OK
Date: Tue, 06 Sep 2005 00:44:45 GMT
Server: Apache/2.0.53 (Unix) PHP/4.3.10
Last-Modified: Sun, 16 Jan 2005 05:51:39 GMT
ETag: "158148-e5d-dc81d0c0"
Accept-Ranges: bytes
Content-Length: 3677
Content-Type: text/css
Content-Language: ja

(Bサーバ)
HTTP/1.1 200 OK
Date: Tue, 06 Sep 2005 00:38:50 GMT
Server: Apache/2.0.53 (Unix) PHP/4.3.10
Last-Modified: Tue, 06 Sep 2005 00:23:55 GMT
ETag: "93c05b-fc7-71775cc0"
Accept-Ranges: bytes
Content-Length: 4039
Content-Type: text/plain
Content-Language: ja

気になるのは、Bサーバの Content-Type: text/plain この部分です。
typeがcssでないということになると、保存方法が間違っている?
cssを再度作り直し、同じ操作を何度も行いましたが結果は同じでした。

冬寂さんありがとうございます。
しかし、ブラウザによって違いがあるのは分かりますが、
サーバによって違いが出るのでしょうか。
一応、確認してみたところ、結果は同じでした。

いったい問題は・・・




Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-09-06 10:07
引用:

気になるのは、Bサーバの Content-Type: text/plain この部分です。
typeがcssでないということになると、保存方法が間違っている?


Content-TypeはApacheが拡張子に応じて返してるんだから、
やっぱりApacheの設定に相違があるんでしょう。

両httpd.confのdiff、晒してください。
jin
ベテラン
会議室デビュー日: 2004/03/11
投稿数: 96
投稿日時: 2005-09-06 10:10
Mattunさんありがとうございます。
やはりapacheの設定でした。

しかし、Aサーバはこの設定なしでも出来ているのですが、おかしいですね。
とりあえずBサーバの/usr/local/apache2/conf/httpd.confの設定ファイル
内に以下の設定を追加しました。

AddType text/css .css

apach再起動
/etc/rc.d/init.d/httpd restart

これで解決できました。

今回のことですごい勉強になったような気がしました。
自己満足でサーバを作ってはいけないんだなとつくづく思いました。
皆さんありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)