Questa è una soluzione che ha risolto il problema per me. Il modulo di riscrittura è sempre stato abilitato, usato in IfModule rewrite_module, le autorizzazioni sono state concesse e il contenuto di .htaccess andava bene, eppure c'era ancora 500 errori nel tentativo di usare il modulo di riscrittura.
In httpd.conf by default:
This is a source of a 500 error if you try to use rewrite in .htaccess in some sub directory.
`
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
`
Quindi uno potrebbe voler utilizzare .htaccess con modulo riscrittura in una directory specifica. Dovresti aggiungere un blocco <directory>
per quella directory. Se si copia e incolla il blocco di directory, è necessario assicurarsi che l'intento del blocco che si copia sia corretto per la directory a cui si desidera applicarlo.
Quindi per mio intento questo blocco causa un errore 403, ma elimina l'errore 500.
<Directory "c:/Apache24/htdocs/store">
AllowOverride All
Options None
Require all granted
</Directory>
Changing to this solved the issue:
<Directory "c:/Apache24/htdocs/store">
AllowOverride All
Require all granted
</Directory>
Suppongo che questo sia il motivo per cui la questione è comunemente visto, ma raramente risolto in queste discussioni. Se ho semplicemente copiato un blocco diverso, ho digitato il mio blocco, o ho avuto qualche comprensione di quello che stavo facendo, questo non sarebbe stato un problema.
Non posso dire che questo risolva il problema di tutti, ma odio quando le persone risolvono e corrono senza illuminare il resto di noi. Quindi per quelli che hanno fatto il mio errore, questa è la risposta.
Quindi 'Opzioni Tutti -Index' sta causando 500 errori? Puoi controllare il tuo error.log Apache? – anubhava