Url rewriting fonctionne uniquement en local

Nouveau WRInaute
Bonjour,
j'ai un pb d'url rewriting.
En effet celui ci fonctionne en local sur easy php, lorsque je le bascule sur OVH , ca ne fonctionne plus.
Bien entendu j'ai fait les modifs, en fonction de tout ce que j'ai pu lire sur les forums.

Mon site sur mon serveur ovh se trouve sur /www/site_perso/ , j'ai donc mis le htaccess directement dans /www/ comme il était indiqué sur certain sites.

Voici mon .htaccess
Code:
RewriteEngine on
RewriteRule ^([a-zA-Z]+)/$ /~jtoledan/site_perso/index.php?p=$1

J'ai modifié tous les chemins en les mettant en statiques avec /~jtoledan/site_perso/ devant.
Voici l'adresse : http://www.jtoledano.fr/
Comme vous pouvez le voir, en cliquant sur resume ou presentation, ceci ne fonctionne pas.

Merci pour votre aide.
C'est la 1er fois que j'utilise url rewriting alors j'ai ptet fais des bourdes..
 
Nouveau WRInaute
Oups petites fautes de phrases , dans mon post.
C'est corrigé ! Dans quelle répertoire au juste , me proposes tu de mettre le site?
 
WRInaute passionné
rockt13 a dit:
Oups petites fautes de phrases , dans mon post.
C'est corrigé ! Dans quelle répertoire au juste , me proposes tu de mettre le site?

non, essayes de mettre ton htaccess dans la racine du répertoire de ton site, c'est à dire "/www/site_pero/" ;-)
 
Nouveau WRInaute
Je perd toute ma feuille de style j'ai l'impression.
J'avais vu dans un tutoriel qu'il fallais justement, bien veillé , à mettre les chemins en absolu, notamment celui de la .css c'est ce que j'ai fais :

Code:
<link rel="stylesheet" href="/~jtoledan/site_perso/design.css" type="text/css" />
 
Nouveau WRInaute
Je crois que je vais revenir, aux bonne vieilles adresses: index.php?p=mapage
Comme ça j'aurais beaucoup moins de soucis, car là je voulais faire de l' url rewriting pour tester, mais c'est loin d'être pratique..
snif
 
WRInaute passionné
rockt13 a dit:
Je crois que je vais revenir, aux bonne vieilles adresses: index.php?p=mapage
Comme ça j'aurais beaucoup moins de soucis, car là je voulais faire de l' url rewriting pour tester, mais c'est loin d'être pratique..
snif

non, t'inquietes pas, tu va y arriver :)

Si ce n'est que la feuille de style, ça veut dire que tu es sur la bonne route!
Si j'ai bien compris, ton chemin absolu (dans ton cas!) doit être :

Code:
<link rel="stylesheet" href="design.css" type="text/css" />
au lieu de

Code:
<link rel="stylesheet" href="/~jtoledan/site_perso/design.css" type="text/css" />
 
Nouveau WRInaute
Il me semblait que l'url absolu, signifiait, mettre le chemin complet.

En tout cas j'ai essayé
Code:
<link rel="stylesheet" href="design.css" type="text/css" />

Et malheureusement, le résultat est strictement le même :(
 
WRInaute passionné
rockt13 a dit:
Il me semblait que l'url absolu, signifiait, mettre le chemin complet.

Oui, mais dans ton cas, ton site (en ftp) est dans le dossier "site_perso"... Donc, quand tu tapes l'url de ton site, tu te retrouves déjà dans ce répertoire. L'url absolue prendra ce répertoire comme référence.
 
WRInaute passionné
si index.php est à la racine du site il faut mettre :
Code:
RewriteEngine on
RewriteRule ^([a-zA-Z]+)/$ /index.php?p=$1
 
Nouveau WRInaute
Bonjour forty,
Oui il est à la racine du site, maintenant car j'ai tout basculé dans /www/
Et j'ai donc modifié le .htaccess comme tu me le suggères, et j'ai toujours le même Pb de perte de css..
 
WRInaute passionné
en regardant la source de -http://www.jtoledano.fr/index.php?p=resume et -http://www.jtoledano.fr/resume/ il n'y a pas le même code html. C'est normal que le résultat soit différent.
le problème vient de php pas de la réécriture.
 
Nouveau WRInaute
oui c'est normal car ca ne marche pas.

En php, je passe ma variable page dans index.php?p=mapage
Donc j'insere la page, passée en paramètre $_GET dans ma <div id="contenu"></div>

Partant de là, j'ai dit dans les regles de mon .htaccess que si l'url était:
http://www.jtoledano.fr/mapage/ le serveur devait l'interpréter par http://www.jtoledano.fr/index.php?p=mapage
C'est pourquoi dans la page mapage.php il m'est inutile de remetre le style etc.. puisqu'en théorie elle doit être inclue dans le contenu de index.

Ici apparement il l'interprete je ne sais pas trop comment, il l'interprete comme si cété http://www.jtoledano.fr/resume.php au lieu de http://www.jtoledano.fr/index.php?p=resume

Ce qui est étonnant c'est que ça fonctionne parfaitement en local...
 
Nouveau WRInaute
Etrange je retire le .htaccess du serveur, et le résultat est le même lol
je n'y comprend plus rien en gros mon .htaccess n'est pas interprété on dirait
 
WRInaute passionné
tu as peut-être un répertoire /resume qui existe ou un script resume.php

essaye d'ajouter cette ligne en début de htaccess :
Code:
Options -MultiViews

HS : j'espère que tu n'inclus pas n'importe quoi et que tu vérifies le paramètre GET. sinon le hack n'est pas loin
 
Nouveau WRInaute
oui oui je fais toutes les vérifs tkt !

Géniallllllllllllllllllllllll ça fonctionne en rajoutant la ligne :

Code:
Options -MultiViews

youhouuuuuuuuuuuuuuu

Comment tu l'expliques? A quoi sert cette ligne ??
Encore merci !!
 
Discussions similaires
Haut