1

Может ли кто-нибудь помочь мне расшифровать мой 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>

у тебя не должно быть проблем.

0