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!
sumber
makes a "Not Bad" face and face palms hand through head
Sekarang 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?^M
di akhir baris Anda atau serupa, itu karena akhir baris yang salah (\r\n
karakter) dos / unix / mac (ada alat: dos2unix dll), untuk berjaga-jaga; DAnda melewatkan
VirtualHost
pengaturan.NG:
DocumentRoot "/Library/WebServer/Documents/dev2"
BAIK:
DocumentRoot /Library/WebServer/Documents/dev2
sumber
DocumentRoot "/ Library / WebServer / Documents"
harus
DocumentRoot / Library / WebServer / Documents
tidak ada "" di DocumentRoot
sumber