10代と話して驚いたこと

Safariでindex.phpを開くとソースコードがそのまま表示されてしまいます。
拡張子をphpとしているだけでソース内にはphpスクリプトは記述しておりません。

なぜでしょうか?
※ファイル名をindex.htmlに変えると正しく表示されます。

Windows 7 Home Premium 64bit
Safari5.1.5
ソースコードのエンコーディング:utf-8


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>テストtitle>
</head>

<body>
<h1>テストページ</h1>
</body>
</html>

A 回答 (2件)

file://xxxx/xxxx/index.php



としてアドレスバーに表示されていればそうなるでしょうね。
safariが開いているファイルをHTMLファイルとして認識しておらず、普通のテキストとして表示しているからです。
で、index.htmlとすると.htmlの拡張子部分をみてsafariがHTMLファイルとして認識し、しかるべき表示をするのでソースが表示されないのです。.phpだとそう認識せず普通のテキストとして表示してしまいます。

他のブラウザにかんしては、拡張子だけではなく、テキストの構造を解析しHTMLファイルと認識しているから、ソースが表示されません。

ただ、このファイルもサーバー場においてWebサーバーを通して開けば、safariでもちゃんと表示される可能性が高いです。
なぜならWebサーバーが「このファイルはHTMLですよ~」とsafariに教えてくれるからです。
※Webサーバーの設定にもよりますが。。。。
    • good
    • 0

ローカル環境と想定しての確認なのですが、


・Apache等のweb環境
・URL(localhost)やファイルの設置場所
・他のブラウザでの表示
など他での条件はどうなってますか?

この回答への補足

ありがとうございます。

テストはローカルで行っています。
拡張子はphpとしていますが、xhtmlソースコード中にphpのコードはいっさい記述しておりませんので
Apacheは起動はしていません。
なお、Apacheを起動していないので、URLは各ブラウザともlocalhostでアクセスしておらず
ファイルを直接開いています。
file:///になっていますが、Safariだけ駄目です。


<拡張子がindex.phpの場合>
IE9 正常に表示
Safari5.1.5 ←※ソースそのものが表示される
FireFox12 正常に表示
Opera11.64 正常に表示

<拡張子がindex.htmlの場合>
IE9 正常に表示
Safari5.1.5 正常に表示
FireFox12 正常に表示
Opera11.64 正常に表示

補足日時:2012/05/25 20:45
    • good
    • 0

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


おすすめ情報