OS X configurando o Apache para o novo site: URL não encontrada

1

Estou tentando configurar minha configuração para poder desenvolver um site para testar uma arquitetura MVC (com base em este exemplo ). Meu problema é que eu só posso acessar o meu index.php se eu não especificar qualquer na url. A localização do meu site é em / Usuários / [meu usuário] / Projects / workspace / Spike e, para evitar problemas com permissões, adicionei um link simbólico / Library / WebServer / Documents / spike para apontar para a pasta do website mencionada acima. Eu também configurei um novo VirtualHost no httpd.conf com a seguinte configuração:

<VirtualHost project1>
        ServerName project1
        DocumentRoot /Library/WebServer/Documents/spike
</VirtualHost>

Eu também adicionei uma nova entrada em / etc / hosts apontando project1 para 127.0.0.1. No meu site raiz eu tenho um .htaccess com o seguinte conteúdo, que deve estar encaminhando todas as solicitações para o meu arquivo index.php (agora contendo apenas um eco "Hello World"):

Options +FollowSymlinks

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]

Então, meu problema é que, se eu tento acessar com " link ", tudo funciona bem. Se eu tentar acessar com o " link " (e assim por diante), receberei o seguinte erro:

The requested URL /something was not found on this server.

Alguém pode me ajudar aqui? Muito obrigado antecipadamente!

    
por Rui 25.02.2012 / 20:11

1 resposta

2

Suas regras de reescrita são ignoradas. Você pode acessar index.php diretamente, mas não os arquivos que realmente não existem, porque seus caminhos de solicitação não estão sendo reescritos.

Você precisa especificar AllowOverride All nos arquivos de configuração do servidor da Web (como httpd.conf ), caso contrário, a definição de regras de reconfiguração em .htaccess files será ignorada.

A diretiva geralmente está lá dentro de todos os blocos <Directory ...> padrão, basta configurá-los de None para All . Reinicie o Apache via Preferências do Sistema »Compartilhamento e tente novamente.

    
por 25.02.2012 / 22:01