Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
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 29/12/2010, 17h43   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 14
Points : 0
Points : 0
Par défaut [.htaccess] Rendre un filtre plus strict

Salut à tous,
Sur mon fichier htaccess j'ai ce code:

Code :
1
2
3
4
RewriteEngine on
RewriteBase /
RewriteRule comment-ca-marche\.html$  index.php?page2=cours-de-soutien&page3=comment-ca-marche&id_cat=8 [L]
Le problème c'est que je peux accéder a cette page avec plusieurs url

- http://www.monsite.com/comment-ca-marche.html
ou
- http://www.monsite.com/xxxxxx/comment-ca-marche.html
ou
- http://www.monsite.com/xxxxxx/aaaaaa...ca-marche.html

qui se que je dois faire pour éliminer le dossier xxxxxx de mon url

je m'excuse pour mon français ,et merci d'avance
red_nour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 22h51   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Juste mettre ^ devant comment-ca-marche\.html$ :
Code :
RewriteRule ^comment-ca-marche\.html$  index.php?page2=cours-de-soutien&page3=comment-ca-marche&id_cat=8 [L]
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 17h20   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 14
Points : 0
Points : 0
Merci pour votre réponses.
j'ai mis le ^ est j'ai toujours le même problème.
red_nour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 20h27   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Pas normal. Dans ton .htaccess, il n'y a que ces 3 lignes ou il y en a d'autres ? Essaie en retirant ou commentant la ligne RewriteBase.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 15h06   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 14
Points : 0
Points : 0
Oui il y en a d'autres ,
j'ai résoudre le problème a 80% avec ce code
Code :
1
2
RewriteRule ^(.*)/(.*(\.html|\.php|!\.doc|!\.pdf))$ http://www.mon-site.com/$2 [L,R=301]
je prend la partie du lien après la dernière slash "/ " et je fait une réduction permanent

mais quand j'ai un lien comme ça : http://www.mon-site.com/cours

on peut accéder a cette page avec plusieurs url on ajoutons des dossier comme ça :
http://www.mon-site.com/xxxx/cours
ou
http://www.mon-site.com/aaa/xxxx/cours

je ne sais pas comment modifier cette filtre (\.html|\.php|!\.doc|!\.pdf) pour qu'il marche bien avec cette cas .

je m'excuse encore une fois pour mon français

Merci a vous _Mac_
red_nour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 23h39   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Je n'ai pas très bien compris le besoin. Toujours est-il que dans un .htaccess, l'URL qui est passée à la moulinette de RewriteRule ne contient jamais le / du début, donc tester l'URL http://site.com/cours dans un .htaccess se fait avec
Code :
RewriteRule ^cours$ ...
et pas
Code :
RewriteRule ^/cours$ ...
Donc prendre ce qui suit le dernier / dans l'URL, pourquoi pas mais dans un .htaccess la règle que tu donnes exige 2 / dans le chemin et ne fonctionne donc pas pour les URL du style http://site.com/cours dans laquelle il n'y a qu'un / dans le chemin.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h25.


 
 
 
 
Partenaires

Hébergement Web