Sto cercando di utilizzare il mod_rewritemodulo di Apache24 server, ma non riesco a caricarlo. So che ci sono state molte domande su questo argomento e le ho esaminate tutte, ma nulla sembra funzionare. Questi sono i passaggi che ho seguito fino ad ora ---
Il
httpd.conffile CHANGED ha apportato queste modifiche:
a. Non commentatoLoadModule rewrite_module modules/mod_rewrite.so
b. ModificatoAllowOverride NoneinAllowOverride AllServer Apache riavviato
Moduli caricati controllati utilizzando il comando prompt dei comandi
httpd -M. Vedo che il modulo mod_rewrite è stato caricato. Ti allego l'immagine qui sotto.
Ma dopo aver eseguito tutti questi passaggi non riesco a vedere mod_rewrite come modulo caricato in phpinfo.
Come si può vedere nella figura sopra, non esiste un modulo caricato mod_rewrite. Anche come hack selvaggio ho anche provato a riscrivere gli URL usando il .htaccessfile ma questo non funziona. Apache sembra ignorare il .htaccessfile anche se ho inserito quel file nella mia directory principale.
Note: I am running `PHP` as an apache module
Using `WAMP` stack
Using `localhost` as server
Ho bisogno di questo modulo per scopi di riscrittura degli URL. Ragazzi, potete suggerire un altro modo per caricare questo modulo?
MODIFICARE
Ho provato a riscrivere l'URL dall'host virtuale poiché la risposta suggerisce che il modulo è caricato e non dipende né da .htaccessné da info.php. Ma non sta reindirizzando. Sto aggiungendo l' Virtual hostimpostazione di seguito ---
<VirtualHost *:80>
<Directory "/Apache24/htdocs">
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html index.php
</Directory>
ServerName localhost
DocumentRoot "/Apache24/htdocs"
ErrorLog "/Apache24/logs/error.log"
CustomLog "/Apache24/logs/access.log" combined
<directory "/Apache24/htdocs">
<IfModule rewrite_module>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule rewrite_module>
RewriteRule ^working.php fun.html
</IfModule>
</directory>
# Rewrite Rules #####################
RewriteEngine On
RewriteRule ^working.php fun.html
# end Rewrite Rules #################
</VirtualHost>
Il codice sopra riportato non lo reindirizza a working.phpquando provo a eseguire fun.html. Dice semplicemente:
l'URL richiesto /working.php non è stato trovato su questo server.
phpinfo()mostra tutti i moduli PHP caricati. Quelle sono cose separate rispetto ai moduli Apache. Non so perché il modulo non funzioni.
FollowSymLinks(o SymLinksIfOwnerMatch) deve essere abilitato affinché mod_rewrite funzioni. per esempio. Options +FollowSymLinks.
.htaccessfile non sono abilitati per questa directory?) Tuttavia, se viene visualizzato un errore (ad es. Un errore 500), è possibile che mod_rewrite non sia abilitato.


mod_rewriteè un modulo Apache, PHP non ne saprà nulla e quindi non si presentaphpinfo(). I moduli PHP sono una cosa completamente separata.