Ca marche en local, pas sur OVH, pourquoi ? Oo

Nouveau WRInaute
Bonjour,

Je suis en hebergement mutualisé chez ovh.

J'ai des adresses du type index.php?lang=fr&pg=home&img=1

J'ai utilisé une méthode à mon sens simple qui est de créer un fichier .htaccess contenant :

<FilesMatch "^page$">
ForceType application/x-httpd-php
</FilesMatch>

Les liens que je fais passer sont de type :

page/xx_xx_xx.html.

Vu mon fichier htaccess, apache se réfère à mon fichier 'page' dans le même répertoire. Celui-ci récupère simplement l'url, l'explose et shop les variables. Ensuite , j'inclus ma page avec mes paramètres.


Cela marche très bien en local (Wamp,Mamp) mais chez ovh, cela donne ne rien. C'est comme s'il n'éxécutait pas le .htaccess, il dit simplement que la page html n'existe pas.

J'ai beau lire le forum, je vois qu'il n'y a pas de problème chez OVH à priori.... mais pas forcément avec cette technique qui n'est pas vraiment une technique de rewriting :)

Mais pour mon site, cela suffit(sait) amplement !
 
Nouveau WRInaute
Re-Hello,


Je veux bien réécrire mon htaccess mais j'aimerais savoir pourquoi ça marche en local mais pas sur ovh, personne n'a eu une idée ?
 
WRInaute discret
La réponse est là :
http://guides.ovh.com/HtaccessModRewrite/

ORT (Ovh Redirect Technology) est un module développé par OVH qui
nous permet d'héberger un nombre important de sites avec peu de
RAM utilisée sur les machines.

Mod_ort modifie l'URI de la page et vous pouvez donc avoir un problème
si vous voulez utiliser mod_rewrite. La solution consiste à redefinir dans
mod_rewrite la racine de reécriture:

RewriteRule ^/grp([0-9]+)\.php$ groupe.php?id=$1 [L]
RewriteRule ^/art([0-9]+)\.php$ article.php?id=$1 [L]
RewriteRule ^/age([0-9]+)\.php$ agenda.php?id=$1 [L]
RewriteRule ^/membre_([0-9]+)\.php$ membre.php?id=$1 [L]

doivent être changés en

RewriteRule ^/grp([0-9]+)\.php$ /groupe.php?id=$1 [L]
RewriteRule ^/art([0-9]+)\.php$ /article.php?id=$1 [L]
RewriteRule ^/age([0-9]+)\.php$ /agenda.php?id=$1 [L]
RewriteRule ^/membre_([0-9]+)\.php$ /membre.php?id=$1 [L]

J'ai passé beaucoup de temps à comprendre et à trouver l'info...
 
Nouveau WRInaute
Je ne sais pas si tu avais le contenu de mon htAcess, mais je n'utilisais pas la methode Rewrite de Apache en vérité.

Là j'essaie de le faire mais c'est comme si OVH ignorait la présence de mon fichier .htaccess
 
Nouveau WRInaute
Eheh merci mais j'utilise pas EasyPhp , je préfère Wamp sous Xp et Mamp sur Mac os X :)

Encore une question : Mon url_rewriting marche, mes liens internes sont xx_xx_xx.html mais quand on visite la page, au final, le browser affiche quand même l'adresse réelle index.php?xx=xx&xx=xx&xx=xx


Est-ce normal ?
 
Nouveau WRInaute
Il fait 2 lignes :)


RewriteEngine on
RewriteRule ^page/(.*)_(.*)_(.*).html$ urldemonsite/index.php?pg=$1&lang=$2&img=$3


Voila et dans mes pages, je fais passer simplement

urldemonsite/page/home_fr_1.html (par exemple)


Tout fonctionne mais au mon browser (safari & firefox) passe sur le lien html puis affiche directement l'autre :)

vincent , je me permets de t'envoyer l'url du site comme ça tu vois en direct :)
 
Nouveau WRInaute
YES merci à toi :)

Si j'étais riche jte ferai un ptit virement ! Malheureusement je ne suis qu'un simple étudiant :'(


Merci encore !!!!
 
WRInaute occasionnel
Oui, dans les RewriteRule, il faut absolument spécifier une URI et non une URL, sinon, mod_rewrite crois que c'est un site extérieur...
 
WRInaute discret
Salut !
Je suis chez OVH, j'utilise aussi l'url rewritting depuis peu et tout marche à merveille !!!
J'utilise le code suivant pour passer d'une url type
test.php?cat1=A&cat2=B
à
test-cat1-A-cat2-B.html

**********************************
RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L]
RewriteRule ^(.*).html $1.php [L]
**********************************

Vous pouvez voir ça sur le site suivant :
http://www.devis-transport.com
 
Nouveau WRInaute
colisconsult a dit:
Salut !
Je suis chez OVH, j'utilise aussi l'url rewritting depuis peu et tout marche à merveille !!!
J'utilise le code suivant pour passer d'une url type
test.php?cat1=A&cat2=B
à
test-cat1-A-cat2-B.html

**********************************
RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L]
RewriteRule ^(.*).html $1.php [L]
**********************************

Vous pouvez voir ça sur le site suivant :
http://www.devis-transport.com

Hello,

Merci pour ton soutien mais mon problème est résolu
 
Nouveau WRInaute
Code:
Options -MultiViews
Options +FollowSymlinks

RewriteEngine on 
RewriteRule ^/menu-article.htm$ /index.php?mod=articles [L] 

RewriteEngine on 
RewriteRule ^/article([0-9]+)\.php$ /index.php?mod=articles&ac=commentaires&id=$1 [L] 

RewriteEngine on 
RewriteRule ^/news([0-9]+)\.php$ /index.php?mod=news&ac=commentaires&id=$1 [L] 

RewriteEngine on 
RewriteRule ^/catarticle([0-9]+)\.php$ /index.php?mod=articles&action=articles&ref=$1 [L] 

RewriteEngine on 
RewriteRule ^/catnews([0-9]+)\.php$ /index.php?mod=articles&action=news&ref=$1 [L]

Une après-midi de test et pas de resultat sur http://www.basket.54500.net
Quelqu'un a-t-il une idée ?
Je suis aussi chez OVH avec du mutualisé
 
Nouveau WRInaute
Well, mes changements ont portés leur fruits !
Je suis sur google :)

J'ai des choses a améliorer mais au moins je me fais plus jeter :D

Merci à tous et en particulier a vincent ! :)
 
Discussions similaires
Haut