Rewriting en attendant résolution dns

WRInaute impliqué
Bonjour à tous,

Pour un de mes sites, je change d'hébergement afin de pouvoir faire de l'url rewriting avec apache.

Je viens à l'instant de modifier les dns chez mon ancien hébergeur afin qu'ils pointent vers le nouveau serveur, mais en attendant j'ai déjà voulu tester et là ... horreur et stupéfaction, la réécriture ne fonctionne pas et me renvoie de belles 404 !

Ca fonctionnait pourtant très bien en local :wink:

Est-il possible que cela provienne du fait qu'il s'agit d'un sous domaine de l'hébergeur et non pas de "l'url définitive" (celle qui pointera vers cet hébergement une fois les dns résolus)

Mes règles sont du type :

Code:
RewriteRule ^((.*)-(.*)+)\.php$ coins.php?url_clean=$1 [L]

Or pour l'instant l'url est

Code:
http://mon_site.hebergeur.net/ ...

Sinon, vous voyez autre chose qui pourrait provoquer ça (règle mal foutue par exemple) ?

Je flippe pas mal, merci d'avance à ceux qui pourront m'aider.
 
WRInaute passionné
je ne comprends pas l'utilité du "+" puisqu'il y a déjà "*" avant.

je mettrais :
Code:
RewriteRule ^(.*)-(.*)\.php$ /coins.php?url_clean=$1-$2 [L]
 
WRInaute impliqué
Merci pour ta réponse ...

En fait j'ai des url's qui se présentent comme ceci :

Code:
http://www.monsite.com/peche-carpe/coins/lac-de-trifouilli.php
http://www.monsite.com/peche-carpe/coins/etang-de-la-belle-gayolle.php

Il y a plusieurs tirets, mais le nombre peut varier. C'est pour ça que j'avais gardé un "+" ... Sans ça en local ça ne fonctionnait pas.

Avec ta règle ça ne fonctionne pas non plus mais le plus "marrant" (hum), c'est que j'obtiens le message d'erreur suivant :

The requested URL /coins.php was not found on this server
.

Alors qu'avec ma règle j'obtiens celui là :

The requested URL /monsite.nuxit.net/peche-carpe/coins/coins.php was not found on this server.

La page coins.php existe bel et bien, j'y accède bien si je tape directement l'adresse.

Bref je suis largué mais surtout je ne comprends pas pourquoi ça fonctionnait en local ...
 
WRInaute passionné
je t'ai indiqué de mettre /coins.php ce qui veut dire que le fichier est a la racine du site. si tu ne mets pas le "/" le fichier est recherché dans le répertoire du .htaccess. Il vaut mieux mettre le chemin complet depuis la racine.

si le .htaccess est dans le répertoire /peche-carpe/coins/ et que tous les fichiers de ce répertoire doivent être réécrits tu peux mettre :
Code:
RewriteRule ^(.*)\.php$ /lebonchemin/coins.php?url_clean=$1 [L]
 
WRInaute impliqué
webmasterlamogere a dit:
je ne comprends pas l'utilité du "+" puisqu'il y a déjà "*" avant.

je mettrais :
Code:
RewriteRule ^(.*)-(.*)\.php$ /coins.php?url_clean=$1-$2 [L]

Le + indique qu'il doit y avoir au moins un caractère après le tiret.

Donc la règle équivalente est :

Code:
RewriteRule ^(.*)-(.+)\.php$ /coins.php?url_clean=$1-$2 [L]

Bon, je ne suis pas sûr que ce soit pertinent pour le problème en cours :wink:
 
WRInaute impliqué
Heu ... merci les gars je regarde à vos soluces et je vous tiens au courant parce que là les dns sont propagés et j'ai deux trois bugs à corriger assez rapidement :mrgreen:

++
 
WRInaute impliqué
:twisted:

J'ai réglé une partie de mes problèmes hormis la css pour ie, mais pour le rewriting rien à faire ça ne marche pas.

Tu peux constater par toi même quand tu cliques sur un lieu de pêche depuis cette page (et c'est comme ça pour tous les répertoires où il y a du rewriting) :

-http://www.karpeace.com/peche-carpe/coins/

Les répertoires ne sont pas virtuels et le htaccess est dans le répertoire /coins. :wink:
 
WRInaute impliqué
Hmmm, c'est bon j'avais oublié un niveau dans l'arbo :oops:

Me reste plus qu'à trouver pour les autres mais ça devrait le faire

Merci pour votre aide et bonne nuit :D
 
Discussions similaires
Haut