2017-01-21 2 views
0

J'essaie d'utiliser le module mod_rewrite de Apache24 server, mais je ne suis pas en mesure de le charger. Je sais qu'il y a eu beaucoup de questions sur ce sujet et je les ai toutes passées mais rien ne semble fonctionner. Ce sont les étapes que j'ai suivi jusqu'à présent ---Impossible de charger le module mod_rewrite Apache

  1. CHANGÉ fichier httpd.conf fait ces changes--

a. Non commenté LoadModule rewrite_module modules/mod_rewrite.so

b. Changé AllowOverride None-AllowOverride All

  1. Restarted serveur apache

  2. modules chargés en utilisant un crochet de commande invite de commande httpd -M. Je peux voir là que le module mod_rewrite a chargé. Je joins l'image ci-dessous. enter image description here

Mais après avoir effectué toutes ces étapes, je ne peux pas voir module mod_rewrite comme chargé dans phpinfo. enter image description here Comme on peut le voir sur la photo ci-dessus, il n'y a pas de module chargé par mod_rewrite. Aussi comme un hack sauvage, j'ai même essayé de réécrire des URL en utilisant le fichier .htaccess, mais cela ne fonctionne pas. Apache semble ignorer le fichier .htaccess bien que j'ai placé ce fichier dans mon répertoire racine.

Note: I am running `PHP` as an apache module 
Using `WAMP` stack 
Using `localhost` as server 

J'ai vraiment besoin de ce module pour la réécriture d'URL. Pouvez-vous suggérer un autre moyen de charger ce module? Je craque la tête ces deux derniers jours. Pensez-vous qu'une réinstallation est nécessaire ou a-t-elle quelque chose à voir avec les dépendances de chemin. N'hésitez pas à nous faire part de vos suggestions.

EDIT

J'ai essayé de réécrire l'URL de l'hôte virtuel comme la réponse indique que le module est chargé et il ne dépend pas ni sur .htaccess ni sur info.php .Mais stil il ne réoriente. J'ajoute la configuration Virtual host ci-dessous ---

<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> 

Le code ci-dessus ne redirige pas à working.php lorsque je tente de lancer fun.html. Il dit simplement the requested URL /working.php was not found on this server.. Merci d'avance!

+0

Toute erreur dans error.log? – Eric

+0

aucune erreur dans le journal des erreurs. – neophyte

Répondre

1

Si apachectl -M ou httpd -M indique que le module est chargé, il est chargé. phpinfo est une chose externe exécutée par un script PHP, pourquoi devriez-vous lui faire confiance sur httpd propre logiciel?

Si vous avez vraiment besoin d'utiliser mod_rewrite, assurez-vous d'ajouter RewriteEngine on avant vos autres directives de réécriture.

Note: Je voudrais vraiment m'assurer que j'ai besoin de mod_rewrite sachant ce que je dois configurer ensuite, dans la plupart des cas ce n'est pas nécessaire et trop utilisé.

Très important: Pour configurer votre serveur, il est si votre serveurvous n'avez pas besoin .htaccess et mod_rewrite ne dépend pas non plus

+0

J'essaye de réécrire l'URL de l'hôte virtuel mais cela ne fonctionne pas .. mais mon module mod_rewrite a été chargé dans Apache. – neophyte

+0

comment "ça ne marche pas", ça ne marche pas à peine de dire quoi que ce soit de valeur pour le déboguer. Quel uri demandez-vous, que prévoyez-vous, que se passe-t-il? avez-vous activé rewritelog pour voir? etc –

+0

J'ai modifié ma question s'il vous plaît jeter un oeil à elle. Le journal de réécriture n'a aucune erreur. – neophyte