2

サーバー上の mp3 ファイルで PHP get_headers() を実行していますが、www 以外のアドレスを使用すると HTTP 404 を受信し、www を使用すると HTTP 200 を受信します。

ブラウザのどちらのアドレスからでもファイルにアクセスできるのに、なぜ 404 なのですか? これを .htaccess でどうにか修正できますか?

1) WordPress が非 www アドレス (example.com) を使用するように設定されている

2) ファイルは WordPress インストールの wp-content/uploads エリアにあります

3) www サブドメインには、非 www ドメイン (www.example.com -> example.com) を指す DNS CNAME があります。


ヘッダー: http://lhcsj.org/wp-content/uploads/2012/05/2012-5-6-sj.mp3

HTTP/1.1 404 Not Found
Date: Tue, 08 May 2012 21:11:43 GMT
Server: Apache/2.2.3 (CentOS)
Content-Length: 314
Connection: close
Content-Type: text/html; charset=iso-8859-1

ヘッダー: http://www.lhcsj.org/wp-content/uploads/2012/05/2012-5-6-sj.mp3

HTTP/1.1 200 OK
Date: Tue, 08 May 2012 21:08:05 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Mon, 07 May 2012 17:19:47 GMT
ETag: "9c52430-e3626f-7a1332c0"
Accept-Ranges: bytes
Content-Length: 14901871
Connection: close
Content-Type: audio/mpeg
4

1 に答える 1

1

www.example.comと が DNS CNAME エントリを介して同じ IP アドレスをexample.com指しているという事実は、サーバーが両方にサービスを提供するように構成されていることを意味しません。このサーバーは、多数の HTTP ホストを処理するように構成でき、デフォルトは別のものである可能性がありwww.example.comます。実際、構成されていないホスト (デフォルトのホストでさえない) に対して 404 ステータスを返すことは、驚くべきことではありません。

およびVirtualHostのそれぞれについて、Apache Httpd 構成にエントリがあることを確認します。Wordpress が特定のホスト用に構成されているという事実は、そのステップを通過した後にのみ機能します。www.example.comexample.com

于 2012-05-09T00:09:20.503 に答える