httpd.conf host virtual não funciona
Pergunta
Eu adicionei o seguinte:
<VirtualHost *:8888>
ServerName dietron
DocumentRoot /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs
<Directory /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs>
AllowOverride All
Options All
</Directory>
php_value include_path .:/Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/include:/usr/local/lib/pear
php_value magic_quotes_gpc off
php_value register_globals off
</VirtualHost>
à minha httpd.conf na esperança de que meu arquivo .htaccess nos htdocs pasta vai ser pego com as seguintes regras:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
Isso é todo o conteúdo. Eu estou renomeando .htaccess no meu MBP fazendo mv i.htaccess .htaccess
que eu estou supondo que é correto? Estou usando MAMP, portanto, o httpd.conf tem uma carga de configurações padrão e eu adicionei o primeiro trecho acima bem no final do mesmo. Estou em seguida, reiniciá-lo, parando o Apache e iniciá-lo novamente. O index.php se apanhada bem, no entanto, quando eu faço http://localhost:8888/anythinghere
ele vem com um 404, o que não deveria acontecer.
Algumas ideias sobre o que estou fazendo de errado?
Editar : Aqui é o meu httpd.conf
Editar : Aqui está o erro no log do Apache:
[Fri Jun 05 16:02:22 2009] [error] [client ::1] File does not exist: /Users/kieransenior/Development/reformsoft_dietron/trunk/var/www/dietron/htdocs/testing
Solução
Um par de sugestões.
Em primeiro lugar, na linha 461 do seu httpd.conf:
AccessFileName afn.htaccess
não deve ser isso .htaccess?
A segunda coisa que eu vejo é que o nome do servidor está definido:
ServerName dietron
mas você está tentando acessá-lo com localhost
Eu sugiro que você coloque uma entrada no seu arquivo / etc / hosts de modo que resolve dietron, quer para o seu endereço IP local ou a sua auto-retorno (127.0.0.1), e, em seguida, acessar o servidor com http: // dietron: 8888
Outras dicas
Certifique-se que sua diretiva AllowOverride está configurado corretamente em um nível global. Se nenhuma substituição é permitida (AllowOverride None
) em seu webroot, então seu arquivo .htaccess serão ignorados.