Aller au contenu

.htaccess ne fonctionne pas sur OVH


Sujets conseillés

Bonjour à tous,

J'ai une fois pris un hébergement chez OVH dont je n'étais pas du tout content et j'ai donc changé d'hébergeur. Mais malheureusement, je suis actuellement sur un projet qui est hébergé sur OVH... Et j'ai donc des problèmes (on devrait trouver une rime d'ailleurs). Ca c'est pour la petite histoire.

Mon problème est donc que mon .htaccess qui fonctionne parfaitement en local, ne fonctionne pas du tout en ligne. Je mets donc je code

RewriteEngine On

RewriteRule ^membres/([0-9]+)/(.+)$ membres_details.php?id=$1 [L]
RewriteRule ^activites/([0-9]+)/(.+)$ activites.php?comite=$1 [L]
RewriteRule ^articles/([0-9]+)/([0-9]+)/(.+)$ activites.php?comite=$1&article=$2 [L]
RewriteRule ^forum/forum/([0-9]+)-(.+)$ forum_forum.php?forum=$1 [L]
RewriteRule ^forum/sujet/([0-9]+)-(.+)$ forum_sujet.php?sujet=$1 [L]
RewriteRule ^forum/categorie/([0-9]+)-(.+)$ forum_categorie.php?categorie=$1 [L]

RewriteRule ^(.+)/$ $1.php [QSA,L]

Je suppose que j'ai oublié quelque chose, mais quoi??

Les problèmes rencontrés sont: par exemple pour la page activité, il ne me passe pas les variables en get (mon tableau $_GET est vide) et également le dernier Rewrite ne fonctionne pas; il me dit que pour une page exemple/ la page exemple.php.php n'existe pas...

Si quelqu'un voit ce qui cloche. Merci d'avance.

e.MiLoU

Modifié par e.MiLoU
Lien vers le commentaire
Partager sur d’autres sites

Pour les hébergements mutualisés OVh, il faut faire précéder le second argument des règles par / :P

Par exemple:

RewriteRule membres/([0-9]+)/(.+)$		 /membres_details.php?id=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

J'ai déjà essayer toutes les possibilités possibles et inimaginables pour l'url rewriting.

Mon site se trouve a l'adresse http://www.monsite.com/whynotbeta/index.php

J'ai essayé en mettant /www/whynotbeta/ ou /whynotbeta/ et ça ne donne rien du tout.

En plus, au vu des erreurs, on dirait que le serveur ne comprend tout simplement rien...

Lien vers le commentaire
Partager sur d’autres sites

Enlève aussi le ^ du premier argument... parce que si le serveur sert /membres... ^membres ne passera pas la règle.

Tu peux essayer ceci:

RewriteRule /?membres/([0-9]+)/(.+)$		 /membres_details.php?id=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

Merci de ton aide mais ça ne fonctionne toujours pas.

De plus certains fonctionnent (notamment article), certaines fonctionnent mal et d'autres pas du tout (pour le forum)

Mon code actuel

RewriteEngine on

RewriteRule membres/([0-9]+)/(.+)$ /betawhynot/membres_details.php?id=$1 [L]
RewriteRule articles/([0-9]+)/([0-9]+)/(.+)$ /betawhynot/activites.php?comite=$1&article=$2 [L]
RewriteRule activites/([0-9]+)/(.+)$ /betawhynot/activites.php?comite=$1 [L]
RewriteRule forum/forum/([0-9]+)-(.+)$ /betawhynot/forum_forum.php?forum=$1 [L]
RewriteRule forum/sujet/([0-9]+)-(.+)$ /betawhynot/forum_sujet.php?sujet=$1 [L]
RewriteRule forum/categorie/([0-9]+)-(.+)$ /betawhynot/forum_categorie.php?categorie=$1 [L]
RewriteRule (.+)/$ /betawhynot/$1.php [L,QSA]

Lien vers le commentaire
Partager sur d’autres sites

Merci de ta proposition, mais hélàs ça ne fonctionne toujours pas. Le plus étrange est que certaines règles fonctionnent et d'autres pas du tout...

Quand je vois ça je me demande pourquoi OVH est numéro de l'hébergement en france...

Lien vers le commentaire
Partager sur d’autres sites

Quand je vois ça je me demande pourquoi OVH est numéro de l'hébergement en france...

Avant d'accuser stérilement, il faudrait peut être se dire que si ça marche chez quelques dizaines de milliers d'autres personnes, l'erreur doit probablement être chez toi,non ?

Et si tu nous donnais ces erreurs, on pourrait peut-être t'aider parce que la boule de cristal c'est pas vraiment mon truc.

Tu as quoi comme erreurs ? des pages 404 ? Une erreur 500 ? Des styles CSS qui ne sont pas pris en compte ?

C'est quel type d'hébergement ? Quel domaine ?

Et finalement donne-nous une URL qui ne fonctionne pas, et comment elle doit être réécrite.

Lien vers le commentaire
Partager sur d’autres sites

Oui désolé de dire ça mais je n'ai jamais eu de problème quand je mettais mon site sur Oxito (hébergeur que je recommande) alors que chez OVH, ça n'a jamais marché du premier coup. De plus mon site fonctionne avec Wamp et EasyPHP... Mais ce n'est pas le sujet.

Pour les exemples.

(j'ai demander une print_r des variables GET avant d'avoir le reste du site)

Cette page fonctionne parfaitement: http://www.cercle-solvay.be/betawhynot/art...change,le,titre,

Celle-ci non: http://www.cercle-solvay.be/betawhynot/activites/2/balef (les variables GET ne sont pas prises en compte)

La page membres (http://www.cercle-solvay.be/betawhynot/membres/) fonctionne (j'ai un répertoire membres/ dans mon site) alors que les autres pages (par exemple http://www.cercle-solvay.be/betawhynot/membres_connexion/) ne fonctionnent pas...

Pour le forum c'est encore plus fou... cette page http://www.cercle-solvay.be/betawhynot/for...st,enfin,ajoute n'est même pas pointée vers la bonne page php...

Si vous avez une idée (ou bien OVH ne gère pas bien les urlrewriting avec les dossiers...)

Merci encore pour votre patience et vos conseils...

Lien vers le commentaire
Partager sur d’autres sites

(j'ai demander une print_r des variables GET avant d'avoir le reste du site)

Cette page fonctionne parfaitement: http://www.cercle-solvay.be/betawhynot/art...change,le,titre,

celle-ci http://www.cercle-solvay.be/betawhynot/art...change,le,titre non !

OVH gère sans problème l'url rewriting, même avec des dossiers virtuels !

Il faudrait que l'on ai le htaccess pour voir d'où pourrait provenir le problème.

Lien vers le commentaire
Partager sur d’autres sites

Pour le .htaccess, je redonne le code

RewriteEngine on

RewriteRule membres/([0-9]+)/(.+)$ /betawhynot/membres_details.php?id=$1 [L]
RewriteRule articles/([0-9]+)/([0-9]+)/(.+)$ /betawhynot/activites.php?comite=$1&article=$2 [L]
RewriteRule activites/([0-9]+)/(.+)$ activites.php?comite=$1&test=test [L]
RewriteRule forum/forum/([0-9]+)-(.+)$ /betawhynot/forum_forum.php?forum=$1 [L]
RewriteRule forum/sujet/([0-9]+)-(.+)$ /betawhynot/forum_sujet.php?sujet=$1 [L]
RewriteRule forum/categorie/([0-9]+)-(.+)$ /betawhynot/forum_categorie.php?categorie=$1 [L]
RewriteRule (.+)/$ /betawhynot/$1.php [L]

J'ai aussi remplacé les [L] par des [L,QSA] comme suggéré mais aucun changement...

Je ne vois aucune logique dans les "bugg" (je le répète tout fonctionne en local)...

Lien vers le commentaire
Partager sur d’autres sites

essaie de rajouter un R aux règles pour voir afficher la réécriture

Voilà je l'ai fait, je vais essayer d'un peu regarder ça, merci pour le tuyau ;-)

Quelqu'un a une idée pour expliquer le fait qu'il ajoute .php.php aux url et non .php tout court?? (Suis complètement perdu là...)

Modifié par e.MiLoU
Lien vers le commentaire
Partager sur d’autres sites

ça vient peut-être de ta dernière règle tu ajoutes un .php à ton paramètre $1 dans :

RewriteRule (.+)/$ /betawhynot/$1.php [L]

Steph.

Lien vers le commentaire
Partager sur d’autres sites

J'ai eu un probleme de htacces il y a 2 jours sur un dédié chez ovh. J'ai changé 2 choses:

- dans le fichier httpd.conf, j'ai ajouté un -Multiviews

<Directory />

Options Includes ExecCGI -Multiviews FollowSymLinks Indexes

AllowOverride All

</Directory>

- j'ai modifié le chemin du htaccess en ajoutant le répertoire du site sur le dédié, ~site:

RewriteEngine on

RewriteRule ^categorie-([a-z_0-9]+)\.html$ /~site/cat.php?catid=$1 [L]

Voilà chez moi ça a marché, j'espère que ce sera le cas pour toi.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je suis sur un 90plan mutualisé chez ovh et ait réussi un début de redirection (c'est la première fois que je fais ça).

A la recherche d'une solution à mon problème je suis tombé sur ces infos :

- 'Options followsymlinks' est déja activé par défaut

- Indiquez le répertoire de base du site si celui-ci n'est pas à la racine

- Précédez la partie droite d'un caractère '/' (dernier point à vérifier, ça marche pour moi sans :!: )

Voici le fichier .htaccess que je te propose :

Options +followsymlinks
RewriteEngine On
RewriteBase /betawhynot

RewriteRule membres/([0-9]+)/(.+)$ /membres_details.php?id=$1 [L]
RewriteRule articles/([0-9]+)/([0-9]+)/(.+)$ /activites.php?comite=$1&article=$2 [L]
RewriteRule forum/forum/([0-9]+)-(.+)$ /forum_forum.php?forum=$1 [L]
RewriteRule forum/sujet/([0-9]+)-(.+)$ /forum_sujet.php?sujet=$1 [L]
RewriteRule forum/categorie/([0-9]+)-(.+)$ /forum_categorie.php?categorie=$1 [L]
RewriteRule (.+)/$ /$1.php [L]

Et donc avec la réserve que j'ai faîte au sujet du caractère '/', ceci devrait fonctionner également :

Options +followsymlinks
RewriteEngine On
RewriteBase /betawhynot

RewriteRule membres/([0-9]+)/(.+)$ membres_details.php?id=$1 [L]
RewriteRule articles/([0-9]+)/([0-9]+)/(.+)$ activites.php?comite=$1&article=$2 [L]
RewriteRule forum/forum/([0-9]+)-(.+)$ forum_forum.php?forum=$1 [L]
RewriteRule forum/sujet/([0-9]+)-(.+)$ forum_sujet.php?sujet=$1 [L]
RewriteRule forum/categorie/([0-9]+)-(.+)$ forum_categorie.php?categorie=$1 [L]
RewriteRule (.+)/$ $1.php [L]

En espérant que ça t'aide ...

Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...

URL rewriting / .htaccess == grosse différence entre ovh et les autres : wamp etc. :

IL FAUT CECI : RewriteRule ^/([-_a-zA-Z0-9]+).... etc. la suite de la règle

alors que sur les autres ceci suffit :

RewriteRule ^([-_a-zA-Z0-9]+).... etc. la suite de la règle

faut le / (slash) aposé par apache en début de string ^/( sur OVH sinon cela ne fonctionne pas.

j'en ai bavé 2 heures pour arriver à cela !!

vieux post auquel je réponds mais bon, je dois pas être le seul à me faire piéger

en espérant que cela en aide quelques uns

jnj

Lien vers le commentaire
Partager sur d’autres sites

  • 6 months later...

Bonjour e.MiLoU,

J'ai aujourd'hui le meme probleme que celui dont tu parlai (en 2005!!!)

Je suis chez OVH en mutu 90plan.

certain GET ne passent pas alors que d'autres si :

celui ci passe:

#Derniers Votes avec numero de page

RewriteRule ^/derniers-votes(/([0-9]+))?$ /derniers_votes.php?page=$2 [L]

alors que celui la non (bien que juste apres)

# Livre d'or

RewriteRule ^/livreor(/([0-9]+))?$ /livreor.php?page=$2 [L]

Test effectue avec un print_r ( $_GET);

Ma question est: as-tu resolu ton probleme depuis? comment?

si d'autres ont une idee du pourquoi du comment, ne pas hesiter a apporter votre grain de sel!

Merci d'avance :-)

Nicolas

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour Yakou32

oui j'ai trouve, il suffit de rajouter cette ligne en haut de ton .htaccess :

# Empeche de parcourir differents nom si pas trouve la cible
Options -MultiViews

C'est pour empecher un fonctionnalite des serveurs d'ovh qui recherche le nom le plus proche si il ne trouvent pas immediatement la page demandee a partir d'un index. La fonction a l'air un peu foireuse.

En tout cas ca marche impeccable ensuite!

J'espere que ca pourra aider pas mal de gens car je sais que je me suis arrache les cheveux sur ce probleme franchement illogique.

Nico

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...