URL Rewriting qui marche partiellement et qui rend fou

Nouveau WRInaute
Bonjour,

l'URL rewriting est un domaine qui a été abordé des milliers de fois sur Webrankinfo, aussi croyez bien que j'ai recherché avant d'en arriver à poster mon problème, mais je suis à bout...
Merci donc aux personnes qui pourront m'aider.

Dans mon htaccess, je fais deux choses :
Je redirige les gens qui ont tapé http://napload.net vers http://www.napload.net

Et je cumule cela avec la redirection d'URL. Et celle-ci du coup ne fonctionne pas.

Je m'explique en terme de pages :
http://www.napload.net fonctionne
http://napload.net fonctionne
http://www.napload.net/news.html fonctionne
http://napload.net/news.html ne fonctionne pas sad.gif

Voici mon htaccess:
CODE
Options +FollowSymlinks
RewriteEngine on

# URL sans www
RewriteCond %{HTTP_HOST} ^napload.net$
RewriteRule /?(.*) http://www.napload.net/$1 [R=301,L]

# PAGE AVEC CHIFFRE AVEC DESCRIPTION :
RewriteRule ^([a-zA-Z0-9]+)-([0-9]+)-([\-a-zA-Z0-9_]+)\.html$ /$1.php?id=$2&fid=$2 [NC,L]

# PAGE AVEC LETTRE AVEC DESCRIPTION :
RewriteRule ^([a-zA-Z0-9]+)-([a-zA-Z]{1})-([\-a-zA-Z0-9]+)\.html$ /$1.php?l=$2 [NC,L]

# PAGE AVEC LETTRE SANS DESCRIPTION :
RewriteRule ^([a-zA-Z0-9]+)-([a-zA-Z]{1})\.html$ /$1.php?l=$2 [NC,L]

# PAGE AVEC MODE :
RewriteRule ^([a-zA-Z0-9]+)-([a-zA-Z]+)\.html$ /$1.php?mode=$2 [NC,L]

# PAGE SANS RIEN :
RewriteRule ^([a-zA-Z0-9]+)-([\-a-zA-Z0-9]*)\.html$ /$1.php [NC,L]

# PAGE :
RewriteRule ^([a-zA-Z0-9]+)\.html$ /$1.php [NC,L]


Merci à ceux qui pourront m'expliquer ou est mon erreur.
 
WRInaute accro
Tu nous met trop de regles!! quel regle est supposé foiré ??

Sinon tu peux aussi rediriger toute tes url sans www vers le www

Code:
RewriteCond %{HTTP_HOST} !^www\.tonsite\.com [NC] 
RewriteRule (.*) http://www.tonsite.com/$1 [QSA,R=301,L]
 
Nouveau WRInaute
Salut Koogar,

malheureusement je met trop de règles mais je suis obligé. C'est la première qui est sensée foirer. Et pourtant, elle marche sur d'autres serveurs.

Je les mets toutes car je me dis que les suivantes peuvent poser problème par rappport à la première etc...
 
WRInaute accro
ouai, ce qui marche chez un hebergeur ne marche pas toujours chez l'autre. Une vrai galere et la plupart du temps les hebergeurs n'ont aucun support.

Faut tatonner !! le comble du developpeur...

ca etant c'est pas tres important de ne pas gerer le www, tant que ton site es referencé Avec le www ... tu as essayer avec cette regle, en premier dans ton ficher :

Code:
RewriteCond %{HTTP_HOST} !^www\.napload\.net [NC] 
RewriteRule (.*) http://www.napload.net/$1 [QSA,R=301,L]
 
Nouveau WRInaute
J'ai malheureusement déjà tout essayé. Mon serveur est un dédié. Sais-tu ce qui peut bloquer au niveau serveur ?
 
WRInaute accro
nerique a dit:
J'ai malheureusement déjà tout essayé. Mon serveur est un dédié. Sais-tu ce qui peut bloquer au niveau serveur ?

A distance pas trop... C'est etonant que des regles aussi basique plantent.

Tu as fais : echo $_SERVER['HTTP_HOST']; pour voir si tout etait normal de ce coté avec le moteur php? c'est la meme variable qu'il recupere.

Apres tu peux toujours faire la redirection en php avec 1 header si tu seches avec le .htaccess.
 
WRInaute accro
nerique a dit:
Avec une redirection PHP, je ne perd pas en rapidité ?

PHP sera un peu plus long mais ca n'a pas d'importance. Si la condition n'est pas remplie, c'est de l'ordre d'1 millième...
 
Nouveau WRInaute
Bon je vais continuer à fouiner, quitte à essayer la version PHP.
Merci en tout cas de t'être intéressé à mon cas.
Je vous tiendrai au courant si je trouve une solution.

Bonne soirée,
 
Nouveau WRInaute
Hello à tous !

Bon alors j'ai enfin trouvé le problème.

En fait, dans le doute, j'ai fait un a2enmod rewrite pour installer le mod_rewrite proprement.

Ensuite, il faut éditer le fichier /etc/apache2/sites-enabled/LE_FICHIEr_DE_VOTRE_SITE

Et changer les directoves AllowOverride à All.

Celles-des .conf ne suffisait pas....

Voilà, merci encore pour votre aide.
 
Discussions similaires
Haut