Jump to content

.htaccess ne fonctionne pas sur OVH


Recommended Posts

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

Edited by e.MiLoU
Link to comment
Share on other 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]

Link to comment
Share on other 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]

Link to comment
Share on other 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]

Link to comment
Share on other 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...

Link to comment
Share on other 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.

Link to comment
Share on other 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...

Link to comment
Share on other 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.

Link to comment
Share on other 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)...

Link to comment
Share on other 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à...)

Edited by e.MiLoU
Link to comment
Share on other 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.

Link to comment
Share on other 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.

Link to comment
Share on other 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 ...

Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...