Você deve verificar:
- se o arquivo
.htaccess
tem permissões adequadas - se
mod_rewrite
está ativado
Eu tenho o seguinte host virtual em /etc/apache2/vhosts.d/ip-based_vhosts.conf:
<VirtualHost test.local:80>
ServerAdmin [email protected]
ServerName test.local
DocumentRoot /home/web/test.net/html
ErrorLog /var/log/apache2/test-error.log
CustomLog /var/log/apache2/test-access.log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
<Directory "/home/web/test.net/html">
Options Indexes FollowSymLinks
AllowOverride All
<IfModule !mod_access_compat.c>
Require all granted
</IfModule>
<IfModule mod_access_compat.c>
Order allow,deny
Allow from all
</IfModule>
DirectoryIndex index.php
</Directory>
<IfModule proxy_fcgi_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/web/test.net/html/$1
</IfModule>
</VirtualHost>
E em /home/web/test.net/html eu tenho:
.htacess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
index.php
<?php echo $_SERVER['REQUEST_URI']; ?>
Quando visito o link , obtenho corretamente "/" (sem as aspas).
Mas quando eu visito qualquer outra coisa, por exemplo link Eu recebo uma página 404 em vez de "/ abc".
Como posso resolver isso para funcionar corretamente?