Problème d'URL rewriting

Problème d'URL rewriting - HTML/CSS - Programmation

Marsh Posté le 22-01-2009 à 19:06:48    

Bonjour à tous, j'ai un problème d'url rewriting que je ne comprends pas du tout.
 
Mon objectif est de rediriger ainsi :
 
http://lucasavoie.com/p/1 => http://lucasavoie.com/page.php?id=1
http://lucasavoie.com/p/1/page-accueil => http://lucasavoie.com/page.php?id=1
 
J'ai donc ce htaccess :

Code :
  1. RewriteEngine on
  2. RewriteRule ^p/([0-9]+)$ page.php?id=$1
  3. RewriteRule ^p/([0-9]+)/(.*)$ page.php?id=$1 [L]
  4. SetEnv PHP_VER 5


 
Il me redirige bien vers la page que je souhaite, mais si je tape :
http://lucasavoie.com/page/1
il me redirige aussi.  :pt1cable: (mais l'ID est impossible à lire, je pense qu'il prend age/1 comme ID)
 
Autre problème : les liens relatifs sautent (ma feuille de style par exemple). Pour vous c'est quoi le meilleur moyen pour remédier à ce problème ?
 
J'ai cherché mais je ne trouve pas de solution, je ne comprends pas du tout mon erreur :??:
Merci d'avance  :jap:


Message édité par Profil supprimé le 21-02-2009 à 12:47:13
Reply

Marsh Posté le 22-01-2009 à 19:06:48   

Reply

Marsh Posté le 23-01-2009 à 15:50:08    

pour les liens relatifs, j'ai eu les memes problemes que toi quand j'ai mis en place l'url rewriting sur mon site.
quelques moyens de retrouver le bon chemins vers les css, images et js :
- decortiquer le $_SERVER['php_self'] et compter les '/'
- ne pas utiliser le caractere '/' dans tes urls (utiliser - ou _ a la place)
- ajouter des regles dans le .htaccess pour que http://monsite.com/p/1/page-accueil/style.css redirige vers le bon fichier css
 
Pas moyens de tester ton htaccess pour l'instant dans je sais pas d'ou vient le pb dans les expressions regulieres


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 23-01-2009 à 17:53:33    

merci pour ta réponse !
Je corrige de suite le problème de la css.
Pour la regex j'ai essayé çà :

Code :
  1. RewriteEngine on
  2. RewriteRule ^p/([[:digit:]])$ page.php?id=$1
  3. RewriteRule ^p/([[:digit:]])/(.*)$ page.php?id=$1 [L]
  4. SetEnv PHP_VER 5

mais çà ne fonctionne pas mieux (même problème).


Message édité par Profil supprimé le 23-01-2009 à 17:54:15
Reply

Marsh Posté le 23-01-2009 à 18:16:21    

autre problème : impossibilité d'avoir un ID à plusieurs chiffres :/
Nouveau code :

Code :
  1. RewriteEngine on
  2. RewriteRule ^p/(.+)$ page.php?id=$1
  3. RewriteRule ^p/(.+)/(.*)$ page.php?id=$1 [L]
  4. SetEnv PHP_VER 5


Message édité par Profil supprimé le 23-01-2009 à 18:19:06
Reply

Marsh Posté le 24-01-2009 à 11:26:45    

:bounce:  
Avec la solution précédente impossible d'aller sur une page de type :
http://monsite.com/p/1/truc, il redirige mais fournit des paramètres incorrects ($1 != 1) :??:
Personne ne sait n'où peut venir le problème ?  :pt1cable:  
Merci d'avance  :jap: .

Reply

Marsh Posté le 24-01-2009 à 14:38:17    

encore un autre problème : chaque ligne supprimée est encore interprétée (d'où le http://monsite.com/page/1 qui redirige) :pfff:  
Je vais péter un câble  :pfff:

Reply

Marsh Posté le 07-02-2009 à 14:24:26    

Bonjour, je me permets d'upper parce que j'ai un nouveau problème :

Code :
  1. RewriteEngine on
  2.  
  3. RewriteRule ^p/(.+)/(.*)$ page.php?id=$1 [L]
  4. RewriteRule ^p/(.+)$ page.php?id=$1 [L]
  5.  
  6. RewriteRule ^cat/(.+)/(.*)$ category.php?id=$1 [L]
  7. RewriteRule ^cat/(.+)$ category.php?id=$1 [L]
  8.  
  9. RewriteRule ^profile/(.+)$ profil.php?id=$1 [L]
  10.  
  11. SetEnv PHP_VER 5


Redirige tout sauf pour "cat" :
http://lucasavoie.com/cat/1 : Not Found
http://lucasavoie.com/cat/1/ : Not Found
Merci :jap:


Message édité par Profil supprimé le 08-02-2009 à 15:34:05
Reply

Marsh Posté le 08-02-2009 à 15:32:41    

:bounce:


Message édité par Profil supprimé le 08-02-2009 à 15:32:51
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed