Estou executando o Ubuntu 20.04 e atualmente estou criando uma API usando php. Eu adicionei um .htaccess
arquivo que DEVE redirecionar quaisquer páginas 404 de volta para o meu index.php. Estou perguntando isso no askubuntu porque acredito que pode ser um problema com minhas configurações do Apache. Entrei no meu 000-default
arquivo /etc/apace2/sites-available
e modifiquei o:
<Directory /var/www/html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
Eu também modifiquei meu apache2.conf
in /etc/apache2/apache2.conf
para ficar assim:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
Este é o conteúdo do meu arquivo .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
</IfModule>
Tentei escrever algo como "ESTE DEVE ERRO", mas quando fui recarregar o navegador não recebi o erro 500 conforme o esperado, mas ainda assim ocorreu o erro 400, então isso me diz que meu .htaccess
arquivo não está sendo atingido.
Depois de modificar qualquer arquivo do Apache ou do sistema, executei
sudo systemctl restart apache2
mas sem dados.
Não tenho certeza do que mais modificar neste momento. Qualquer ajuda é apreciada, obrigado.
Responder1
Suspeito que o problema não seja o seu .htaccess estar sendo ignorado, mas sim o mod_rewrite não estar habilitado. Tente sudo a2enmod rewrite
reiniciar o Apache2.