Você precisará do RewriteBase se estiver no seu userdir e substituindo por um caminho relativo.
Eu estou tentando criar um site PHP com URLs limpas com o mod_rewrite do Apache, usando um arquivo .htaccess. mod_rewrite parece estar funcionando, no entanto, ele afirma que não pode encontrar arquivos no meu servidor que existem.
Assim como um teste básico, é assim que meu arquivo .htaccess se parece no momento - ir para [mysite] / page deve redirecionar para o arquivo index.php:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^page$ index.php
Afaik, eu configurei o arquivo .conf apropriadamente também:
<Directory "/Users/myuser/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
No entanto, quando eu tento acessar a configuração da URL via mod_rewrite (localhost / ~ myuser / mysite / page), eu recebo isso:
Not Found
The requested URL /Users/myuser/Sites/mysite/index.php was not found on this server.
No entanto, esse arquivo existe e esse é o local correto! O site funciona bem, caso contrário, se eu for para localhost / ~ myuser / mysite / index.php, tudo funciona bem - menos qualquer tipo de URLs limpas, é claro.
Alguém já viu isso antes / tem alguma idéia do que estou fazendo de errado?
Você precisa adicionar FollowSymlinks após o Multiviews. Eu escrevi um tutorial para a coisa toda aqui:
Espero que isso resolva seu problema. Felicidades! :)
Tags mod-rewrite apache-2.2 mac-osx