Apache tidak menemukan folder di Sistem File; Menambahkan "\ xe2 \ x80 \ x9d" ke akhir File Paths

10

Saya memiliki tiga Host Virtual yang berjalan di apache2 pada Macintosh pribadi saya yang menjalankan OS X Mavericks dan saya telah mengalami banyak kebingungan. Mereka dikonfigurasi dalam file httpd-vhosts.conf saya sebagai berikut:

<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>

Catatan: Entri pertama memungkinkan saya untuk mengetik "localhost" dan memuatnya seperti yang Anda harapkan tanpa menjalankan Host Virtual.

dev1 dan dev2 berfungsi dengan baik, tetapi saya mendapatkan Galat 404 yang mengatakan "URL yang diminta / tidak ditemukan di server ini." ketika saya mencoba memuat dev3 pada mesin lokal. Ketiga folder Dev memiliki izin yang sama saya telah memverifikasi nama. Ketika saya memeriksa error_log saya menemukan ini:

[Jumat 24 Jan 12:55:07 2014] [kesalahan] [klien 127.0.0.1] File tidak ada: / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d

Adakah yang tahu mengapa Apache menambahkan "\ xe2 \ x80 \ x9d" di akhir jalur Folder, atau mengapa dev3 tidak memuat? (Saya menduga ini adalah karakter yang ditambahkan secara acak.) Setiap masukan diterima! Terima kasih sudah membaca!

Paman Nerdicus
sumber

Jawaban:

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

Jika Anda menginstal php:

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

// or

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

// should give you ”
Daniel W.
sumber
2
makes a "Not Bad" face and face palms hand through headSekarang lihat, itu sangat masuk akal. Ini terjadi pada saya dengan formulir HTML juga ... Terima kasih! Aku sudah menggaruk kepalaku selama satu jam tentang ini. Bagaimana karakter itu diketik versus tanda kutip reguler @DanFromGermany?
Paman Nerdicus
@UncleNerdicus tergantung pada editor teks Anda! Saya benar-benar hanya menggunakan NetBeans, notepad ++ dan vi untuk semuanya dan tidak pernah mengalami masalah seperti itu
Daniel W.
1
@ Davidvidou Membuatku menunggu beberapa menit lagi (timer bodoh!), Aku belum lupa!
Paman Nerdicus
1
@UncleNerdicus jika Anda pernah bertemu ^Mdi akhir baris Anda atau serupa, itu karena akhir baris yang salah ( \r\nkarakter) dos / unix / mac (ada alat: dos2unix dll), untuk berjaga-jaga; D
Daniel W.
2
Anda tidak tahu seberapa besar pelepasan sukacita saya ketika saya membaca solusi ini. Bergabung dengan komunitas ini hanya untuk mendukung ini.
roberrrt-s
1

Anda melewatkan VirtualHostpengaturan.

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

BAIK: DocumentRoot /Library/WebServer/Documents/dev2

pengguna283690
sumber
Ini memperbaikinya untuk saya. Terima kasih
Bashar Abdullah
0

DocumentRoot "/ Library / WebServer / Documents"

harus

DocumentRoot / Library / WebServer / Documents

tidak ada "" di DocumentRoot

Ardy Shazril
sumber
1
Selamat Datang di Kesalahan Server! Meskipun jawaban Anda mungkin benar, pada dasarnya jawaban itu sama dengan yang sudah kami miliki.
jornane