403 Acessos Proibidos via .htaccess url limpo, mas pode ser acessado diretamente

1

Alguém poderia me ajudar a decodificar meu 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

Esta pasta nem existe. E a maioria das pessoas tem um endereço de cliente bom, como 127.0.0.1, mas desde que eu estou no Mac OS Lion alguém me disse para atualizar meu arquivo de hosts para ter este

127.0.0.1   localhost
::1         localhost 
fe80::1%lo0 localhost

Não sei bem qual é o problema. Se eu navegar para algo como:

http://localhost/kl/n/

Eu não tenho nenhum problema e sou recebido com a página de índice (definida como start.php pelo arquivo .htaccess). No entanto, se eu tentar entrar em:

http://localhost/kl/n/login

Que é suposto ser encaminhado para o link recebo um acesso proibido 403 com os erros mencionados acima no meu apache2 error_log. Agora eu não tenho nenhum problema para acessar o link . Existe e funciona bem. Para ver se era um problema com endereços eu criei uma variável indefinida para o error_log para lançar e quando eu acessá-lo diretamente através da URL completa eu recebo esse erro no meu 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

Portanto, para o erro 403, diga:

You don't have permission to access /Users/myusername/Sites/cloud/kl/n/login/login.php on this server.

É um pouco estranho para mim. Qualquer ajuda ou qualquer coisa para verificar seria muito apreciada. Eu não consigo seguir em frente, já que o site inteiro está confiando muito nessas URLs limpas e que também seria um grande aborrecimento mudar todos os links agora em desenvolvimento e depois novamente na produção. Muito obrigado.

EDITAR 21/11/11 14:42: Eu decidi adicionar mais algumas informações para ajudar qualquer um que esteja tentando me ajudar (Vamos lá, eu não posso ser o único que teve que enfrentar isso, parece como algo que alguém mais deve ter executado. Nenhum usuário do MAMP com .htaccess reescreve em seu servidor que foi executado em um 403 proibido?)

Sob minha pasta de sites, existe um arquivo chamado httpd-vhosts.conf e aqui está:

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

Em /etc/apache2/httpd.conf eu descomentei a linha que habilitaria o php5 e alterei estas linhas:

# 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

Eu tentei isso com o normal _www e meu nome de usuário, nem ajuda com o problema. Eu também mudei estas linhas em /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">

Novamente, qualquer ajuda sobre isso seria apreciada. Eu realmente espero que eu não seja o único que criou um MAMP e teve problemas com o .htaccess no MAC OS X Lion.

ATUALIZAÇÃO de 31 de janeiro de 2012:

Eu não tenho mais uma instalação do Lion, mas tive um problema parecido com o Snow Leopard. Eu não tenho certeza se a correção para mim também teria funcionado aqui, mas estou incluindo no caso de ajudar alguém. Basicamente você tem que adicionar isso a você. Htaccess após a linha dizendo RewriteEngine On

RewriteBase /~myusername/path/to/root/dir

Então, se você tivesse que apontar para localhost / ~ myusername / first-folder-under-sites, você adicionaria

RewriteBase /~myusername/first-folder-under-sites

e combinado com uma configuração aberta do httpd.conf (ou seja, não do jeito que está no meu post, mas sim menos segura como:)

<Directory />
  Options FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

você não deve ter problemas.

    
por victoroux 20.11.2011 / 00:06

0 respostas