Apacheがファイルシステム上のフォルダを見つけられません。ファイルパスの最後に「\ xe2 \ x80 \ x9d」を追加


10

私は、OS X Mavericksを実行している個人のMacintoshのapache2で3つの仮想ホストを実行しており、混乱のもとに遭遇しました。これらは、httpd-vhosts.confファイルで次のように構成されています。

<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev1"
ServerName dev1.local
ServerAlias www.dev1.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev2"
ServerName dev2.local
ServerAlias www.dev2.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev3”
ServerName dev3.local
ServerAlias www.dev3.local
</VirtualHost>

注:最初のエントリでは、「localhost」と入力して、仮想ホストが実行されていなくても期待どおりにロードすることができます。

dev1とdev2は正常に動作しますが、「要求されたURL /はこのサーバーで見つかりませんでした」というエラー404が表示されます。ローカルマシンにdev3をロードしようとすると、3つのDevフォルダーすべてに同じ名前があり、名前を確認しました。error_logを確認したところ、次のことがわかりました。

[Fri Jan 24 12:55:07 2014] [error] [client 127.0.0.1]ファイルが存在しません:/ Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d

Apacheがフォルダパスの最後に「\ xe2 \ x80 \ x9d」を追加する理由、またはdev3がロードされない理由を誰かが知っていますか?(これらのランダムに追加された文字が原因だと思います)任意の入力を歓迎します!読んでくれてありがとう!

回答:


16
DocumentRoot "/Library/WebServer/Documents/dev3”
                                               ^----- no proper quotation mark :9

PHPがインストールされている場合:

<?php
echo "\xe2\x80\x9d";

// or

echo utf8_decode("\xe2\x80\x9d");

// should give you ”

2
makes a "Not Bad" face and face palms hand through headさて、それは非常に理にかなっています。これは、HTMLフォームでも発生します...ありがとうございます。私はこれについて1時間頭を悩ませてきました。通常の引用符@DanFromGermanyと比較して、その文字はどのように入力されますか?
ネルディカスおじさん2014年

@UncleNerdicusはテキストエディターに依存します!私は本当にすべてにNetBeans、notepad ++、viのみを使用しており、そのような問題は一度もありませんでした
Daniel W.

1
@DavidHoudeそれは私に数分待つことをさせています(愚かなタイマー!)、私は忘れていません!
ネルディカスおじさん2014年

1
@UncleNerdicus行末^Mまたは同様の行に遭遇した場合、それは誤って行末(\r\nchars)のdos / unix / mac(ツール:dos2unixなどがある)が原因です(; D
Daniel W.

2
私がこの解決策を読んだとき、あなたは私の喜びの放出がどれほど莫大であるかを知りません。これを賛成するためだけにこのコミュニティに参加しました。
roberrrt-s 2017

1

VirtualHost設定に失敗しました。

NG: DocumentRoot "/Library/WebServer/Documents/dev2"

OK: DocumentRoot /Library/WebServer/Documents/dev2


これで解決しました。ありがとう
Bashar Abdullah

0

DocumentRoot "/ライブラリ/ WebServer / Documents"

そのはず

DocumentRoot / Library / WebServer / Documents

DocumentRootに「」がない


1
サーバー障害へようこそ!あなたの答えはおそらく正しいですが、それは本質的に私たちがすでに持っているのと同じ答えです。
jornane
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.