Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1211 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Url Rewriting

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Url Rewriting

n°1520449
Mdkart
Marchand de sable
Posté le 26-02-2007 à 18:56:14  profilanswer
 

[:simchevelu]  
Bonjour,
je suis en train de monter un petit script php pour lister toutes les images d'un dossier donné. Donc je met mon script dans un dossier appelé serie et je compte faire plusieurs dossiers dans ce dossier série dans lesquels je vais mettre mes photos.
Architecture du dossier:
-serie : contient index.php qui est le script qui récupère les images et les affiches
   - série1 (contient des photos)
   - série2
   - série3
   - série4
   - ...
 
Pour dire que je veux sélectionner la série 1 , je dis mets comme url : serie/index.php?do=serie1
Jusque là ça marche. Mais, j'aimerais avoir des url plus propres du genre : serie/serie1 .  
J'ai essayer des trucs en url rewriting mais à chaque fois j'ai une erreur 403 quand je vais sur la page serie/serie1 .  
Comment puis-je faire


Message édité par Mdkart le 27-02-2007 à 12:40:32
mood
Publicité
Posté le 26-02-2007 à 18:56:14  profilanswer
 

n°1520616
FlorentG
Unité de Masse
Posté le 26-02-2007 à 22:58:08  profilanswer
 

Balance ton htaccess pour voir ce qui foire

n°1520689
nORKy
Grmmph...
Posté le 27-02-2007 à 09:38:27  profilanswer
 

tu peux aussi regarader tes logs d'erreurs et ainsi constater comment a été réécrite l'url et donc en déduire tes erreurs

n°1520695
Mdkart
Marchand de sable
Posté le 27-02-2007 à 09:42:21  profilanswer
 

Voilà mon htaccess dans le dossier serie :

Code :
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteRule ^(-[a-z]*)/$ index.php?do=$1 [L]


Message édité par Mdkart le 27-02-2007 à 09:58:58
n°1520720
Mdkart
Marchand de sable
Posté le 27-02-2007 à 10:04:36  profilanswer
 

J'ai cherché dans mes logs mais je ne trouve pas de rewrite.log (je suis chez 1&1 si ça peut aider)

n°1520763
NewsletTux
<Insérez ici votre vie />
Posté le 27-02-2007 à 10:48:50  profilanswer
 

et pourquoi pas serie-1.html par exemple ?  
avec un .htaccess du genre
 

Code :
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteRule ^serie-([0-9]+)\.html/$   index.php?do=$1 [QSA, L]

n°1520768
Mdkart
Marchand de sable
Posté le 27-02-2007 à 10:55:29  profilanswer
 

En fait après ?do= je n'ai pas un chiffre mais un nom de dossier par exemple "serie1" qui pourrait être aussi par exemple "carnaval-2007". Et là je viens d'essayer mais ça ne marche pas.
Un truc comme serie1.php (carnaval-2007) me conviendrait parfaitement.

n°1520775
sielfried
Posté le 27-02-2007 à 11:04:25  profilanswer
 

Essaie un truc du style :
RewriteRule ^([^-]*)-([0-9]+)\.html$ $1/index.php?do=$2 [L]

Message cité 1 fois
Message édité par sielfried le 27-02-2007 à 11:04:37

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1520777
chani_t
From Dune
Posté le 27-02-2007 à 11:05:25  profilanswer
 

dans ce cas la tu es obligé de faire une rules par nom de dossier...
 
il serait préférable de stocker le nom de dossier dans un fichier ou une BDD, et de ne passer par argument qu'un numéro de ligne.. c'est beaucoup plus facile à gérer.

n°1520779
Mdkart
Marchand de sable
Posté le 27-02-2007 à 11:15:22  profilanswer
 

sielfried a écrit :

Essaie un truc du style :
RewriteRule ^([^-]*)-([0-9]+)\.html$ $1/index.php?do=$2 [L]


Non plus erreur 500  :cry:  
 

chani_t a écrit :

dans ce cas la tu es obligé de faire une rules par nom de dossier...
 
il serait préférable de stocker le nom de dossier dans un fichier ou une BDD, et de ne passer par argument qu'un numéro de ligne.. c'est beaucoup plus facile à gérer.


Oui mais ça complique mon script, en fait l'intérêt de mon script c'est qu'il n'y a qu'à créer un dossier et à glisser les photos dedans pour quelle soient reconnues. Si je dois à chasue fois modifier un fichier en plus il n'y a plus trop d'intérêt.
 
 
En fait, je ne sais pas si vous comprenez ce que je veux faire exactement car ce que je dis n'est pas très clair :
Je voudrais que  
http://mdkart.fr/serie/index.php?do=vacance-2006 soit remplacé par http://mdkart.fr/serie/vacance-2006.php ou bien http://mdkart.fr/serie/vacance-2006/ afin de rendre mes urls plus propres
Bien sûr vacance-2006 peut être remplacé par tout autre châine de caractère.

mood
Publicité
Posté le 27-02-2007 à 11:15:22  profilanswer
 

n°1520797
chani_t
From Dune
Posté le 27-02-2007 à 11:26:45  profilanswer
 

ok... dans ce cas là c'est plus facile ;)
 
 RewriteRule ([a-z]+)\/photos.html$ /index.php?do=$1 [L]

n°1520799
Mdkart
Marchand de sable
Posté le 27-02-2007 à 11:29:40  profilanswer
 

Et donc là je devrais accéder avec l'url
http://mdkart.fr/serie/vacance-2006/photos.html , c'est bien ça?


Message édité par Mdkart le 27-02-2007 à 11:32:35
n°1520804
chani_t
From Dune
Posté le 27-02-2007 à 11:33:32  profilanswer
 

normalement si je ne me suis pas trompé (ce qui n'est pas gagné :D)

n°1520807
Mdkart
Marchand de sable
Posté le 27-02-2007 à 11:36:32  profilanswer
 

Donc revoilà le htaccess :  

Code :
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteRule ([a-z]+)\/photos.html$ /index.php?do=$1 [L]


 
Tu peux tester : on peut accéder à  
http://mdkart.fr/serie/index.php?do=vacance-2006 mais pas à http://mdkart.fr/serie/vacance-2006/photos.html   :sweat:

n°1520813
chani_t
From Dune
Posté le 27-02-2007 à 11:40:37  profilanswer
 

RewriteRule ([a-z]+)/photos.html$ /index.php?do=$1 [L] test ça ;)

n°1520816
Mdkart
Marchand de sable
Posté le 27-02-2007 à 11:42:59  profilanswer
 

Toujours pas ça

n°1520835
chani_t
From Dune
Posté le 27-02-2007 à 11:53:49  profilanswer
 

RewriteRule ^([a-z]+)/photos.html$ /index.php?do=$1 [L] test ça ;) 2 le retour :D

n°1520843
Mdkart
Marchand de sable
Posté le 27-02-2007 à 11:57:59  profilanswer
 

Je te remercie de ta patience mais ça ne marche toujours pas  [:sisicaivrai]

n°1520848
chani_t
From Dune
Posté le 27-02-2007 à 12:00:14  profilanswer
 

ra.... on va y arriver..... :D
 
RewriteRule ^([a-zA-Z0-9-]+)/photos\.html$ /index.php?do=$1 [L]

n°1520855
Mdkart
Marchand de sable
Posté le 27-02-2007 à 12:04:11  profilanswer
 

Ah, il y a du changement : Ce coup ci je suis redirigé vers la racine de mon site.

n°1520881
chani_t
From Dune
Posté le 27-02-2007 à 12:14:28  profilanswer
 

RewriteRule ^serie/([a-zA-Z0-9-]+)/photos\.html$ /index.php?do=$1 [L]
 
retest ;)

n°1520889
Mdkart
Marchand de sable
Posté le 27-02-2007 à 12:19:25  profilanswer
 

Non plus.

n°1520898
chani_t
From Dune
Posté le 27-02-2007 à 12:28:58  profilanswer
 

ton fichier index.php se trouve bien à la racine de ton site ?

n°1520900
Mdkart
Marchand de sable
Posté le 27-02-2007 à 12:32:48  profilanswer
 

Dans le dossier http://mdkart.fr/serie/ j'ai le .htaccess que tu me donne et l'index.php qui est mon script de galerie.  
Dans http://mdkart.fr/ j'ai un index.php pour rediriger vers mon blog et un .htaccess dont voilà le contenu

Code :
  1. ErrorDocument 404 /404.php
  2. Options -Indexes
  3. RewriteEngine On
  4. RewriteCond %{HTTP_HOST} !^mdkart\.fr [NC]
  5. RewriteRule (.*) http://mdkart.fr/$1 [QSA,R=301,L]

n°1520902
chani_t
From Dune
Posté le 27-02-2007 à 12:35:53  profilanswer
 

Arf ok.... maintenant ça va marcher ;)
 
RewriteRule ^([a-zA-Z0-9-]+)/photos\.html$ /serie/index.php?do=$1 [L]

n°1520906
Mdkart
Marchand de sable
Posté le 27-02-2007 à 12:39:46  profilanswer
 

MERCI! :love:  J'ai plus qu'à modifier mon script parce que les urls relatives ne marchent plus mais le problème me semble réglé!
Merci énormément pour ta patience  :jap:

n°1520907
chani_t
From Dune
Posté le 27-02-2007 à 12:40:36  profilanswer
 

ba de rien... j'ais révisé en même temps :D...

n°1520910
Mdkart
Marchand de sable
Posté le 27-02-2007 à 12:44:57  profilanswer
 

Edit : je peux même l'avoir dans un dossier style : http://mdkart.fr/serie/vacance-2006/ avec le .htaccess :

Code :
  1. RewriteEngine on
  2. Options +FollowSymlinks
  3. RewriteRule ^([a-zA-Z0-9-]+)/$ /serie/index.php?do=$1 [L]

n°1520916
chani_t
From Dune
Posté le 27-02-2007 à 13:03:15  profilanswer
 

ba vi, mais je trouvais plus sympa d'avoir le photos.html comme nom de fichier.... :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Url Rewriting

 

Sujets relatifs
[Résolu][VBA ACCESS] LIKE + * ou % ?[resolu]ID qui s'incrémente +2
Impossible de compiler des shaders en cg! [RESOLU][RESOLU] 1 erreur de validation (x)HTML 1.0 Transitional
RESOLU : PHP afficher un gif animé qui s'anime[PHP] [Résolu] Construire une variable avec une autre variable ?
Aide pour batch de renommage[Résolu]Url Rewriting
[PHP] URL Rewriting et formulaires [résolu] 
Plus de sujets relatifs à : [RESOLU]Url Rewriting


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR