Se ho capito bene, ho bisogno di mettere qualcosa in httpd.config
per abilitare mod_rewrite. Se questo è vero, cosa devo inserire in httpd.conf
o apache.conf
? Si prega di essere specifici del sistema operativo.
No, mod_rewrite
è un modulo Apache e non ha nulla a che fare con PHP.
Per triggersre il modulo, la seguente riga in httpd.conf
deve essere triggers:
LoadModule rewrite_module modules/mod_rewrite.so
per vedere se è già attivo, prova a inserire un file .htaccess
in una directory web contenente la linea
RewriteEngine on
se funziona senza generare un errore interno del server di 500 e il file .htaccess
viene analizzato, la riscrittura dell’URL funziona.
Solo una fyi per le persone che abilitano mod_rewrite su Debian con Apache2:
Per verificare se mod_rewrite è abilitato:
Cerca in mods_enabled per un collegamento al modulo eseguendo
ls /etc/apache2/mods-enabled | grep rewrite
Se questo output rewrite.load
allora il modulo è abilitato. (Nota: il tuo percorso per apache2 potrebbe non essere / etc /, anche se probabilmente lo sarà).
Per abilitare mod_rewrite se non lo è già :
Abilita il modulo (essenzialmente crea il link che stavamo cercando sopra):
a2enmod rewrite
Ricarica tutti i file di configurazione di apache:
service apache2 restart
Nel mio caso, si è verificato un problema anche dopo che tutte queste configurazioni sono state eseguite (@Pekka ha menzionato le modifiche nei file httpd.conf e .htaccess). È stato risolto solo dopo che ho aggiunto
Order allow,deny Allow from all AllowOverride All
alla configurazione dell’host virtuale nel file vhost
Modifica il 29/09/2017 (Per Apache 2.4 <) Segnala questa risposta
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs" ServerName dropbox.local ErrorLog "logs/dropbox.local-error.log" CustomLog "logs/dropbox.local-access.log" combined # AllowOverride All # Deprecated # Order Allow,Deny # Deprecated # Allow from all # Deprecated # --New way of doing it Require all granted
Il modulo rewrite_module è integrato nel server nella maggior parte dei casi
Usa .htaccess
Usa il Mod Rewrite Generator su http://www.generateit.net/mod-rewrite/
No, non dovresti averne bisogno. mod_rewrite
è un modulo Apache. Non ha nulla a che fare con php.ini
.
le soluzioni di rete offrono il consiglio di inserire un php.ini nel cgi-bin per abilitare mod_rewrite
se si riferisce al sito di hosting quindi chiedi al tuo hosting o se vuoi abilitarlo nel computer locale, controlla questo tutorial passo per passo su youtube relativo all’triggerszione del modulo di riscrittura in wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s
Icona del server Wamp -> Apache -> Moduli Apache e controlla l’opzione del modulo di riscrittura dovrebbe essere controllato, ma dopo tale operazione è necessario riavviare tutti i servizi
Per usare mod_rewrite puoi digitare il seguente comando nel terminale:
$ su $ passwd ********** # a2enmod rewrite
Riavvia apache2 dopo
# service apache2 restart # /etc/init.d/apache2 restart
o
# service apache2 restart