Может ли кто-нибудь помочь мне расшифровать мой apache2 error_log?
[Sat Nov 19 17:39:59 2011] [error] [client ::1] client denied by server configuration: /Library/WebServer/Documents/Users
[Sat Nov 19 17:39:59 2011] [error] [client ::1] client denied by server configuration: /Library/WebServer/Documents/favicon.ico
Эта папка даже не существует. И у большинства людей есть хороший клиентский адрес, такой как 127.0.0.1, но так как я на Mac OS Lion, кто-то сказал мне обновить мой файл hosts, чтобы это
127.0.0.1 localhost
::1 localhost
fe80::1%lo0 localhost
Я не совсем уверен, в чем проблема. Если я перейду к чему-то такому как:
http://localhost/kl/n/
У меня нет проблем, и меня приветствует страница индекса (установите файл start.php в файле .htaccess). Однако, если я попытаюсь зайти в систему по адресу:
http://localhost/kl/n/login
Который должен быть направлен на http://localhost/kl/n/login/login.php Я получаю 403 запрещенный доступ с ошибками, упомянутыми выше в моем apache2 error_log. Теперь у меня нет проблем на самом деле перейти на http://localhost/kl/n/login/login.php. Он существует и отлично работает. Чтобы увидеть, была ли это проблема с адресами, я создал неопределенную переменную для error_log, которую нужно выбросить, и когда я обращаюсь к ней напрямую через полный URL, я получаю эту ошибку в своем error_log:
[Sat Nov 19 18:00:32 2011] [error] [client ::1] PHP Notice: Undefined variable: orange2 in /Users/myusername/Sites/cloud/kl/n/styles/colors.php on line 127, referer: http://localhost/kl/n/login/login.php
Итак, для ошибки 403 сказать:
You don't have permission to access /Users/myusername/Sites/cloud/kl/n/login/login.php on this server.
Это немного странно для меня. Любая помощь или что-либо для проверки будет принята с благодарностью. Кажется, я не могу двигаться дальше, поскольку весь сайт в значительной степени полагается на эти чистые URL-адреса, и что было бы также большой проблемой изменить все ссылки, находящиеся сейчас в разработке, а затем снова в работе. Огромное спасибо.
РЕДАКТИРОВАТЬ 21.11.11 14:42: я решил добавить больше информации, чтобы помочь любому, кто даже пытается помочь мне (давай, ребята, я не могу быть единственным, кто сталкивался с этим, похоже, что-то кто-то еще, должно быть, столкнулся. Нет пользователей MAMP с .htaccess переписывает на своем сервере, который столкнулся с 403 запрещено?)
Под моей папкой сайтов находится файл с именем httpd-vhosts.conf, и вот он:
<Directory "/Users/myusername/Sites">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Alias /kl "/Users/myusername/Sites/cloud/kl"
# For http://localhost in the OS X default location
<VirtualHost _default_:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents
</VirtualHost>
В /etc/apache2/httpd.conf я раскомментировал строку, которая включила бы php5, и изменил эти строки:
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
#User _www
#Group _www
User myusername
Group _www
Я пробовал это как с обычным _www, так и с моим именем пользователя, ни одна из них не помогает с проблемой. Я также изменил эти строки в /etc/apache2/httpd.conf
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "/Library/WebServer/Documents"
DocumentRoot "/Users/myusername/Sites"
#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#
#
# This should be changed to whatever you set DocumentRoot to.
#
# old path
#<Directory "/Library/WebServer/Documents">
# new path
<Directory "/Users/myusername/Sites">
Снова любая помощь в этом была бы оценена. Я действительно надеюсь, что я не единственный, кто установил MAMP и имел проблемы с .htaccess на MAC OS X Lion.
ОБНОВЛЕНИЕ Январь-31-2012:
У меня больше нет установки Lion, но у меня была похожая проблема со Snow Leopard. Я не уверен, что исправление для меня также сработало бы здесь, но я включаю его на случай, если оно кому-нибудь поможет. В основном вы должны добавить это к вам .htaccess после строки, в которой говорится, что RewriteEngine On
RewriteBase /~myusername/path/to/root/dir
Так что, если вам нужно было указать localhost/~ myusername/first-folder-under-sites, вы должны добавить
RewriteBase /~myusername/first-folder-under-sites
и в сочетании с открытой настройкой httpd.conf (то есть не так, как в моем посте, но вместо этого менее безопасным, чем :)
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
у тебя не должно быть проблем.