Problème avec l'URL Rewriting

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec l'URL Rewriting

par Hywan » 29 mai 2008, 17:04

Un complément : expreg.com et l'excellent lumadis.be.

par steph29 » 29 mai 2008, 17:03

si tu place le htaccess dans /fr/ le code doit etre:

Code : Tout sélectionner

RewriteRule ^articles/categorie-([0-9]+)\.html$ articles-cat.php?id=$1 [L]
si c'est a la racine du site le code doit etre:

Code : Tout sélectionner

RewriteRule ^fr/articles/categorie-([0-9]+)\.html$ fr/articles-cat.php?id=$1 [L]
si tu melange forcement ca marche pas ;)

@docdamien:
c'est un signe d'expression reguliere
le ^ veut dire : début de chaîne
et le $ : fin de chaine

en revanche si c'est entre crochet [^a] cela signifie ne contient pas "a"

par docdamien » 29 mai 2008, 17:00

@VICTOR: Merci beaucoup :wink:

par Victor BRITO » 29 mai 2008, 16:59

Le ^ est un délimiteur indiquant un début de chaîne, dans le cas d'une expression régulière ; par exemple, ^toto cherchera toute chaîne de caractères commençant par toto.

Tu as aussi le $, qui délimite une fin de chaîne.

Et si, dans ton expression régulière, tu dois chercher une ou plusieurs occurences de ^ et de $, il suffit de les échapper dans l'expression régulière, comme suit :

Code : Tout sélectionner

#Recherche d'une chaîne commençant par ^ et finissant par $ ^\^(.*)\$$

par docdamien » 29 mai 2008, 16:55

Hey :),

et si tu mettais plutôt :

Code : Tout sélectionner

RewriteRule^/fr/...
ça n'irait pas mieux ?
Où est placé ton .htaccess ?
Salut,

à quoi sert le ^ :?:

par djtec » 12 avr. 2008, 17:18

Mon hébergeur est OVH et c'est un hébergement Start 5G et il autorise la réécriture d'url.

Et si je le met à la racine cela ne change rien la page "fr/galerie/categorie-3.html" ne ce charge pas.

Idem en mettant /fr/ devant les liens dans la htaccess.


Le dossier fr/ n'est pas virtuel. Il existe car tout mes fichiers sont dedans.

par Victor BRITO » 12 avr. 2008, 16:13

Essaie de placer ton .htaccess à la racine du site. Et vérifie aussi les liens, vu que tu crées des répertoires virtuels : ces liens doivent partir de la racine du site pour le cheminement, afin d'éviter tout problème de chemin.

De plus, es-tu sûr que ton hébergeur permet la réécriture d'URL ? Si ton site est hébergé chez Free, par exemple, mieux vaut abandonner la partie.

par djtec » 12 avr. 2008, 14:34

Mon .htaccess est placé dans le répertoire fr/

Donc tu me dit que je dois faire ceci:

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^/fr/articles/categorie-([0-9]+)\.html$ /fr/articles-cat.php?id=$1 [L] RewriteRule ^/fr/galerie/categorie-([0-9]+)\.html$ /fr/galerie-cat.php?id=$1 [L]

par Hywan » 12 avr. 2008, 14:12

Hey :),

et si tu mettais plutôt :

Code : Tout sélectionner

RewriteRule ^/fr/...
ça n'irait pas mieux ?
Où est placé ton .htaccess ?

Problème avec l'URL Rewriting

par djtec » 12 avr. 2008, 13:29

Bonjour,

Voilà mon problème est le suivant.

Je souhaite créer des adresse du type:
- http://www.monsite.com/fr/articles/categorie-3.html
- http://www.monsite.com/fr/galerie/categorie-3.html

Mon .htaccess est comme suit:

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^articles/categorie-([0-9]+)\.html$ /fr/articles-cat.php?id=$1 [L] RewriteRule ^galerie/categorie-([0-9]+)\.html$ /fr/galerie-cat.php?id=$1 [L]
Le problème est que la page "http://www.monsite.com/fr/gallerie/categorie-3.html" ne fonctionne pas et que l'autre fonctionne si j'inverse les 2 ligne le script ne fonctionne toujours pas.

J'ai même essayé ceci:

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^articles/categorie-([0-9]+)\.html$ /fr/articles-cat.php?id=$1 [NC,L] RewriteRule ^galerie/categorie-([0-9]+)\.html$ /fr/galerie-cat.php?id=$1 [NC,L]
Et toujours pareil.

Par contre si je tape:
http://www.monsite.com/fr/galerie-cat.php?id=2
Cela fonctionne parfaitement.

Donc cela veut bien dire que mon soucis viens bien du .htaccess.

Alors quoi faire???

Merci d'avance.