url writing, httpd.conf, virtual host

Nouveau WRInaute
salut a tous ( premier post sur ce forum )

je decouvre depuis hier l url writing. je bosse avec un apache version 1.3.26. j ai ajoute la ligne " LoadModule rewrite_module libexec/mod_rewrite.so " dans mon httpd.conf.

mais si j essaie de mettre les lignes suivantes
"RewriteEngine on
RewriteRule ^nexistepas.html$ phpinfo.php[L]"

dans une region d un virtual host Apache ne veut plus redemarrer en me disant que j ai une erreur de segmentation.

j ai essaye de mettre ma regle de rewrite dans un .htaccess. je n ai plus l erreur maisle rewrite tout simple ne marche meme pas.

que se passe t il ?

ludo
 
WRInaute passionné
Salut Imachard, et bienvenue sur WebRankInfo !

As-tu décommenté la ligne suivante ?
Code:
AddModule mod_rewrite.c

Dan
 
Nouveau WRInaute
salut a toi

oui la ligne Addmodule mod_rewrite.c est decommentee. et AllowOverride est a All pour mon directory. je vais bien dans mon .htacces parce que si je fais une coquille dans ce fichier Apache fait une internal server error

voila son contenu tout con :

# normal apache settings & vars
FancyIndexing off

# start rewriting
RewriteEngine on
RewriteRule nexistepas.html$ phpinfo.php


donc moi j essaie http://monIP/nexistepas.html et j ai une erreur 404. a noter que je bosse avec des virtual host

autre rem : dans mon phpinfo le moderewrite est present 2 fois dans les "Loaded Modules"
 
WRInaute occasionnel
le module doit etre charger une seule fois,
ensuite si tu bosse avec des vhost pense a active les log de reecriture quelque tps pour voir si le rewrite marche bien ..
et vois ce qui ne va pas ensuite ....

ps: http://monIP/ n'est pas pris en compte comme vhost a moi que tu ai specifie un ServerAlias nomIP dans ta conf vhost ...
 
Nouveau WRInaute
je suis un peu perdu.

je n arrive pas a ecrire mes logs de reecriture. que je mette les lignes :

RewriteLog "logs/rewrite.log"
RewriteLogLevel 3

dans httpd.conf la Apache ne redemarre plus et dans .htaccess j ai une Inetrnal Server Error

si j enleve l instruction LoadModule mode_rewrite [...] l=je retrouve le lode_rewrite une seule fois dans les loaded modules de mon phpinfo

3 questions :

comment s assurer que le module mode_rewrite est bien chargé ?

ou mettre les instructions de rewrute dans le httpd.conf ou ds le .htaccess ?

pourquoi ça marche pô chez moi alors que ça a la ir si simple !? lol
 
WRInaute passionné
Salut,

Tu ne dis pas sur quoi tu tournes Apache ? Windows ou Linux ?

As-tu une version recompilée d'apache, avec le mod_rewrite intégré comme dans apache 2.x ?
S'il est renseigné dans ton phpinfo, tout laisse à croire qu'il est intégré au noyau Apache.

Les règle de réécritures vont bien dans les 2 fichiers, mais si tu les mets dans httpd.conf il faudra redémarrer Apache chaque fois que tu changes une règle... pas très pratique, sauf une fois que tu as des règles "en béton" :lol:

Dan
 
Nouveau WRInaute
Tu ne dis pas sur quoi tu tournes Apache ? Windows ou Linux ?

=> mon OS est linux distribution red hat 7.2

As-tu une version recompilée d'apache, avec le mod_rewrite intégré comme dans apache 2.x ?

=> franchement je ne sais pas
 
WRInaute passionné
En général, sous Unix/Linux, je donne le chemin du RewriteLog en absolu, comme:
RewriteLog /var/adm/log/httpd/rewrite.log
Assures-toi bien que le répertoire existe et que le user apache y a droit d'écriture.

Dan
 
Nouveau WRInaute
impossible de mettre en place les logs.

autre bizarrerie :

si je mets mes instructions de rewrite dans le httpd.conf rein ne se produit ( meme apres arret/ redemarrage d apache). si je mets ces instructions dans .htaccess j ai une redirection mais TOUJOURS vers le meme fichier quelque soit ma regle de message. je suis redirige vers home.php.
 
Nouveau WRInaute
je reviens vers vous car je n ai toujours pas réussi a mettre en place l URL rewrite chez moi.

voila mon .htaccess

RewriteEngine on
RewriteRule ludo-([0-9]+)-([0-9]+)\.html$ ludo.php?numero=$1&page=$2 [L]

le probleme c est que je suis toujours redirigé vers la meme page "home.php" dont je ne fait mention ni dans le .htaccess ni dans httpd.conf !!

j ai fait un phpinfo dans cette page "home.php"

voila un bloc interessant :

  • Apache Environment
    Variable Value
    DOCUMENT_ROOT /home/www/cci/public
    HTTP_ACCEPT */*
    HTTP_ACCEPT_ENCODING gzip, deflate
    HTTP_ACCEPT_LANGUAGE fr
    HTTP_CONNECTION Keep-Alive
    HTTP_COOKIE PHPSESSID=04373929a311579f8f4c5b46d3c40ddf; lang=fr
    HTTP_HOST 172.20.24.3:8071
    HTTP_USER_AGENT Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)
    PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
    REDIRECT_QUERY_STRING numero=1&page=14
    REDIRECT_STATUS 200
    REDIRECT_URL /ludo-1-14.html
    REMOTE_ADDR 172.20.24.12
    REMOTE_PORT 1347
    SCRIPT_FILENAME /home/www/cci/public/home.php
    SERVER_ADDR 172.20.24.3
    SERVER_ADMIN root@devi-ouest
    SERVER_NAME dev_sqli_ouest
    SERVER_PORT 8071
    SERVER_SIGNATURE <ADDRESS>Apache/1.3.26 Server at dev_ouest Port 8071</ADDRESS>

    SERVER_SOFTWARE Apache/1.3.26 (Unix) PHP/4.0.6
    GATEWAY_INTERFACE CGI/1.1
    SERVER_PROTOCOL HTTP/1.1
    REQUEST_METHOD GET
    QUERY_STRING numero=1&page=14
    REQUEST_URI /ludo-1-14.html
    SCRIPT_NAME /home
    PATH_INFO /www/ludo.php
    PATH_TRANSLATED /home/www/cci/public/www/ludo.php

le mode rewrite marche bien !! je recupere mes parametres dans REDIRECT_QUERY_STRING.

quelqu un a une idee sur la raison de la mauvaise redirection systematique vers home.php ?
 
Discussions similaires
Haut