Apache не знаходить папки у файловій системі; Додавання "\ xe2 \ x80 \ x9d" до кінця Шляхів файлів


10

У мене є три віртуальні хости, які працюють в apache2 на моєму персональному Macintosh під керуванням OS X Mavericks, і я наткнувся на вузол плутанини. Вони налаштовані у моєму файлі 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 працюють нормально, але я отримую помилку 404 із записом "Запрошена URL-адреса / на цьому сервері не знайдено". коли я намагаюся завантажити dev3 на локальну машину. Усі три папки Dev мають однакові дозволи. Я перевірив імена. Коли я перевірив log_log, я виявив таке:

[Пт 24 січня 12:55:07 2014] [помилка] [клієнт 127.0.0.1] Файл не існує: / Бібліотека / WebServer / Документи / 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 формами ... ДЯКУЙТЕ! Я цілу годину чухаю голову з цього приводу. Як цей персонаж набирається порівняно зі звичайним лапкою @DanFromGermany?
Дядько Нердік

@UncleNerdicus залежить від вашого текстового редактора! Я дійсно використовую лише NetBeans, блокнот ++ та vi для всього і ніколи не мав таких проблем
Daniel W.

1
@DavidHoude Це змушує мене почекати ще кілька хвилин (дурні таймери!), Я не забув!
Дядько Нердік

1
@UncleNerdicus, якщо ви коли-небудь стикаєтесь ^Mіз закінченнями рядків або подібними, це через неправильне закінчення рядків ( \r\nсимволи) dos / unix / mac (є інструменти: dos2unix тощо), про всяк випадок; D
Daniel W.

2
Ви не маєте поняття, наскільки величезним було моє радість, коли я читав це рішення. Приєднався до цієї спільноти лише для того, щоб підтримати це.
roberrrt-s


0

DocumentRoot "/ Бібліотека / WebServer / Документи"

вона повинна бути

DocumentRoot / Бібліотека / WebServer / Документи

немає "" в DocumentRoot


1
Ласкаво просимо до помилки сервера! Хоча ваша відповідь, ймовірно, правильна, це по суті та сама відповідь, яку ми вже маємо.
jornane
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.