Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/05/2013, à 16:28

Zuglich

[RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Bonjour,
Je sais que ce sujet a été posé 1000 fois au moins,
mais après de longue recherche sur le forum, je n'ai trouvé aucune solution a mon problème (Bon j'avoue ne pas avoir fait les + de 10 pages de résultat sur google smile )
J'ai un serveur LAMP installé sur une machine virtuel Ubuntu 12.10 (Hôte Windows 7)
Depuis deux jours maintenant, je m’arrache les cheveux a tenter par tous moyens de faire fonctionner le module rewrite

Je m'explique :
Le module rewrite est bien activé, l'htaccess est pris en compte (pour en être sur je l'ai fait planter)
Les règles de réécriture sont bonne, elles fonctionne partout ailleurs mais j'ai l'impression qu'il lance même pas la réecriture.
J'obtient une erreur 404.

2 choses me font penser que le pb vient du module rewrite :
Premièrement, j'ai activé les log pour la réécriture en level 9 (Le fichier rewrite.log a bien été créer une fois le serveur relancé mais il est vide, quoi que je fasse, quoi que je teste)
Deuxièmement, j'ai testé sur Windows en plantant ma régle pour tomber sur un 404 et j'obient ce message : 'The requested URL /boutique_demo/v2/index.php was not found on this server' a l'adresse index.html
Ici, la réecriture a bient été fait, c'est le fichier qui n'existe pas.
Mais sous ubuntu, j'optient ceci 'The requested URL /boutique_demo/index.html was not found on this server.' a l'adresse index.html
Apparemment, il n'a pas réécrit l'URL ! (Ce sont exactement les même régles)

Les logs d'apache m'indique également qu'il va chercher le fichier index.html.

Voici les fichiers :
.htaccess (dsl je n'ai pas réussi a indenter correctement ...)

RewriteRule ^(vente)-(.*)-c([0-9]+)-([0-9]+).html$                                            /boutique_demo/index.php?pg=produits&url_pg=$1-$2&id_categorie=$3&p=$4 [L]
RewriteRule ^(vente)-(.*)-c([0-9]+).html$	                                                        /boutique_demo/index.php?pg=produits&url_pg=$1-$2&id_categorie=$3 [L]
RewriteRule ^(achat)-(.*)-a([0-9]+).html$								/boutique_demo/index.php?pg=produit&url_pg=$1-$2&id_produit=$3 [L]
RewriteRule ^(espace-client)-(.*)-(ajouter).html$						/boutique_demo/index.php?pg=$1&spg=$2&mode=ajouter [L]
RewriteRule ^(espace-client)-(.*)-(editer|supprimer)-([0-9]+).html$		        /boutique_demo/index.php?pg=$1&spg=$2&mode=$3&id=$4 [L]
RewriteRule ^(espace-client)-(commandes)-([0-9]+).html$				/boutique_demo/index.php?pg=$1&spg=$2&id=$3 [L]
RewriteRule ^(espace-client)-(.*).html$								/boutique_demo/index.php?pg=$1&spg=$2 [L]
RewriteRule ^validation-(.*)-(.*).html$								/boutique_demo/index.php?pg=validation&type=$1&etat=$2 [L]
RewriteRule ^recherche-(.*).html$									/boutique_demo/index.php?pg=recherche&p=$1 [L]
RewriteRule ^(.*).html$											/boutique_demo/index.php?pg=$1 [L]

/etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
        ServerAdmin admin@localhost.fr

        DocumentRoot /var/www
        <Directory />
                Options +Indexes +FollowSymLinks +ExecCGI
                AllowOverride AuthConfig FileInfo Indexes Limit
        </Directory>
        <Directory /var/www/>
                Options +Indexes +FollowSymLinks +ExecCGI
                AllowOverride AuthConfig FileInfo Indexes Limit
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Merci énormément pour votre aide parce que la, je n'ai aucune idée de quoi faire...

Dernière modification par Zuglich (Le 02/05/2013, à 18:35)


MARGALEF Pierre
Développeur PHP

Hors ligne

#2 Le 01/05/2013, à 22:39

tiramiseb

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Salut,

1/ Pourquoi as-tu mis ces lignes dans un fichier .htaccess et non dans la configuration d'Apache ? Les fichiers .htaccess, c'est pour quand on n'a pas accès à la configuration d'Apache... Pour des raisons de performance, il vaut mieux les désactiver quand on est admin du serveur...

2/ Je ne vois pas la directive RewriteEngine On dans ce que tu montres... Tu l'as oubliée dans ta conf, ou alors tu ne l'as juste pas montrée ?

Hors ligne

#3 Le 02/05/2013, à 04:36

Zuglich

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Bonjour,
Tout d'abord merci de répondre smile,
1) Je sais bien malheureusement mais c'est une contrainte du boulot, je n'ai quasiment jamais accès a la config d'apache au bureau. Je suis développeur.
2) Effectivement le fichier n'est pas complet, mais la directive est bien présente.

Merci

Dernière modification par Zuglich (Le 02/05/2013, à 04:41)


MARGALEF Pierre
Développeur PHP

Hors ligne

#4 Le 02/05/2013, à 08:21

tiramiseb

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

1) Je sais bien malheureusement mais c'est une contrainte du boulot, je n'ai quasiment jamais accès a la config d'apache au bureau. Je suis développeur.

C'est un cas qui (malheureusement) justifie cette utilisation.
Si c'est pour un site en dev, il y a peut-être moyen de faire migrer le contenu de ton ".htaccess" dans la configuration d'Apache histoire d'améliorer les perfs du serveur de prod qui passera derrière.
Menfin bon, on rencontre bien trop souvent des admins qui ne sont pas très très bons, dans les entreprises (bien sûr je ne connais pas les tiens, peut-être qu'ils sont bons, eux big_smile )

2) Effectivement le fichier n'est pas complet, mais la directive est bien présente.

Ah ben si en plus tu nous induis en erreur...



3/ Quand tu essaies d'accéder à ton site pour tester les règles de rewrite, tu vas à la racine du site ou alors tu entres un nom de page tel qu'accepté par tes règles de rewrite ?


4/ Si déjà tu fais des jolies règles de Rewrite, tu peux peut-être enlever ce horrible ".html", non ? smile

Hors ligne

#5 Le 02/05/2013, à 18:07

Zuglich

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Re,
Oui c'est un oubli de ma part désolé.
3) La racine du site fonctionne très bien, mais dés que je passe sur une page a l'adresse *.html -> 404
4) Je veut bien te croire, mais c'est mon collègue qui a fait ces règles, je ne préfère pas trop y toucher, il est quand même meilleur que moi pour les fichier htaccess. De toute façon nous somme en train de refaire la boutique entièrement, règle y compris smile
C'est vrai qu'il faudrait que je m'y mette sérieusement, mais je manque de temps....

En ce qui concerne les admins, nous somme une petite boite de com perdu en campagne smile nous n'en avons pas .... nous n’hébergeons aucun site chez nous. Mais bon j'ai bon espoir que la situation évolue un jour...

Je revient sur ce que j'ai dis dans mon premier post, étant donnée que il va bien chercher un fichier .html et non .php c'est bien que la réécriture ne se fait pas ? sachant également que les logs sont toujours vide ....
C'est étrange quand même, le module est bien activé, j'ai bien regardé, aucune directive ne semble manquer, mais il n'a pas l'air de se lancer ... a tu déjà rencontré un problème similaire ?

Merci


MARGALEF Pierre
Développeur PHP

Hors ligne

#6 Le 02/05/2013, à 18:12

Zuglich

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Apparemment, je vient de tester, ça fonctionne .... mais je n'ai aucune idée de comment ni pourquoi ... Je n'ai strictement rien changé a ce que j'avait fait hier soir et je n'ai pas testé de la journée ....
Je ne comprend pas ....
Ça m’embête de ne pouvoir donner plus d'explication sur la résolution du problème.

Petite question, comment modifie t'on le titre d'un message ? smile

Dernière modification par Zuglich (Le 02/05/2013, à 18:17)


MARGALEF Pierre
Développeur PHP

Hors ligne

#7 Le 02/05/2013, à 18:28

tiramiseb

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

Apparemment, je vient de tester, ça fonctionne ....

C'est chelou

J'allais te répondre que j'ai peut-être trouvé la source de ton problème : Il faut mettre un "/" au début de ta règle RewriteRule :

RewriteRule ^/machintruc

et non :

RewriteRule ^machintruc

Mais bon, si ça marche...

Petite question, comment modifie t'on le titre d'un message ?

Tu cliques sur "Modifier", sur le premier message de la discussion.

Hors ligne

#8 Le 02/05/2013, à 18:37

Zuglich

Re : [RESOLU] module rewrite apache2 | Impossible de le faire fonctionner

C'est simple mais faut le savoir smile
Quoi qu'il en soit, merci de ton aide.


MARGALEF Pierre
Développeur PHP

Hors ligne