Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2011, 17h11   #1
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
Par défaut regexp url rewrite slash

Bonjour,

je ne comprend pas ou est mon probleme...une regexp pourtant simple...

dans mon .htaccess : RewriteRule ^photos$ index.php?view=gallerie [L]et l'url pour tester : localhost/photos
=> ca, ca fonctionne...

ce que j'essaye de faire : c'est une url du type : localhost/photos/album1
du coup, j'ai essaye ca : RewriteRule ^photos\/([a-Z0-9]+)$ index.php?view=gallerie&book=$1 [L]mais la, apache plante
(Internal Server Error)
j'ai essaye plein de syntaxes pour echapper le slash, mais rien a faire...

need vos lumieres :/
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 17h24   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il n'y a pas lieu d'échapper les slashs, il n'a jamais fait partie des métacaractères.

La classe est invalide sur la partie a-Z (les majuscules étant avant les minuscules) donc plutôt a-zA-Z ou similaire.

Quand on a une erreur 500, l'explication se trouve dans le journal d'erreur d'Apache :
Citation:
.htaccess: RewriteRule: cannot compile regular expression '^photos/([a-Z0-9]+)$'
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 19h11   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
heu, la j'ai un soucis je crois...
j'ai essaye un truc bidon pour voire : RewriteRule ^photos/([a-z]+)$ index.php?view=gallerie&book=$1 [L]quand je vais sur localhost/photos/test, il me redirige bien, mais me perd mon style css...(je recupere bien l'argument 'test'

par contre, si je vais juste sur localhost/photos, c'est niquel...
car j'ai une autre redirection qui est : RewriteRule ^photos$ index.php?view=gallerie [L](la meme chose sans le nom de l'album)
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 19h37   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Doksuri Voir le message
j'ai essaye un truc bidon pour voire : RewriteRule ^photos/([a-z]+)$ index.php?view=gallerie&book=$1 [L]quand je vais sur localhost/photos/test, il me redirige bien, mais me perd mon style css...(je recupere bien l'argument 'test'
C'est normal avec des liens relatifs et une arborescence virtuelle due à votre réécriture puisque cette dernière fausse où il va chercher ses ressources annexes (un lien relatif A étant résolu en /photos/A et non plus /A par exemple). C'est un sujet récurrent sur le forum Apache (solutions : une balise base href, des liens HTTP absolus et non relatifs, capturer/réécrire celles-ci mais ça peut vite devenir ingérable).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 19h56   #5
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
mon .htaccess est a la racine, donc theoriquement, quand je redirige sur index.php, c'est celui de la racine...

de plus, la redirection de localhost/photos fonctionne correctement, (quand je n'ai pas d'arguments, j'affiche la liste des albums, si j'ai le nom de l'album, je l'affiche...)
donc : localhost/photos = ok et css ok
localhost/photos/test = ok mais sans le css
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 21h44   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Aucun rapport, c'est bien le point de vue du client qu'il faut considérer. Il ne lit pas les htaccess et une réécriture est opérée côté serveur (tout le contraire d'une redirection).

Votre réécriture (photos/*) est une arborescence virtuelle : elle fait croire au client (qui n'a aucune connaissance de cette réécriture) qu'il y a un niveau de répertoire supplémentaire que réellement (RewriteRule ^photos/([a-z]+)$) donc le client, sur des chemins HTTP relatifs, demandent des ressources au mauvais endroit (cf l'exemple ci-dessus).

N'utilisez pas de slashs comme "séparateurs" si vous n'aviez pas prévu la chose et/ou êtes incapable de le gérer sinon j'ai déjà donné des solutions précédemment ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 22h02   #7
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
d'accord, j'avais pas vu ca comme ca...
je crois que le conseil 'ne pas utiliser de slash' va etre bon xD
merci encore pour ces eclaircissements.
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web