.htaccess fonctionnant à moitié
33 messages
• Page 1 sur 3 • 1, 2, 3
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

weedo - Nouveau WRInaute

- Messages: 44
- Inscription: 16 Jan 2008
.htaccess fonctionnant à moitié
Bonjour à tous,
Je rencontre un soucis avec un .htaccess, il fonctionne à moitié
Ce que je souhaite faire c'est réécrire l'adresse des pages de résultat de recherche. J'ai donc mon fichier index.php qui fait appel à la variable search index.php?search= et j'aimerais réécrire tout ça sous la forme index/file-$valeurdesearch.html
Voici mon code
Voyez vous d'où cela peut venir ?
Quand je dis qu'il fonctionne à moitié c'est parceque les 3 premières lignes (qui servent à éviter que l'adresse du site soit affiché sans les www) fonctionnent impec...
Merci d'avance pour votre aide.
Je rencontre un soucis avec un .htaccess, il fonctionne à moitié
Voici mon code
- Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule ^index/file-([0-9a-zA-Z-]+)\.html$ http://www.mon-site.fr/index.php?search=$1
Voyez vous d'où cela peut venir ?
Quand je dis qu'il fonctionne à moitié c'est parceque les 3 premières lignes (qui servent à éviter que l'adresse du site soit affiché sans les www) fonctionnent impec...
Merci d'avance pour votre aide.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Essaie d'enlever le ^ au début (ou alors met RewriteBase /) :
- Code: Tout sélectionner
RewriteRule index/file-([0-9a-zA-Z-]+)\.html$ http://www.mon-site.fr/index.php?search=$1
-

weedo - Nouveau WRInaute

- Messages: 44
- Inscription: 16 Jan 2008
Merci pour ta réponse !
ça ne fonctionne toujours pas..
J'ai testé avec
et avec
Une autre idée ?
(Qu'est ce que ça peut être capricieux ces .htaccess...)
ça ne fonctionne toujours pas..
J'ai testé avec
- Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule ^index/file-([0-9a-zA-Z-]+)\.html$ http://www.mon-site.fr/index.php?search=$1
et avec
- Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule index/file-([0-9a-zA-Z-]+)\.html$ http://www.mon-site.fr/index.php?search=$1
Une autre idée ?
(Qu'est ce que ça peut être capricieux ces .htaccess...)
- jeroen
- WRInaute passionné

- Messages: 2461
- Inscription: 30 Aoû 2002
Quelle est le problème ou l'erreur rencontrée ?
essaie ça :
essaie ça :
- Code: Tout sélectionner
RewriteRule ^index/file-([0-9a-zA-Z-]+)\.html$ index.php?search=$1
-

weedo - Nouveau WRInaute

- Messages: 44
- Inscription: 16 Jan 2008
Quand je dis que ça ne fonctionne pas c'est que ça fonctionne à moitié (cf 1°mess) et je n'ai pas d'erreur... à la limite je préfèrerai en avoir une mais la rien... l'adresse s'écrit encore et toujours www.mon-site.fr/index.php?search=requete
J'ai testé avec le / devant index soit
Kifkif...
et avec
et re-kifkif
J'ai testé avec le / devant index soit
- Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule ^/index/file-([0-9a-zA-Z-]+)\.html$ http://www.mon-site.fr/index.php?search=$1
Kifkif...
et avec
- Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule ^/index/file-([0-9a-zA-Z-]+)\.html$ index.php?search=$1
et re-kifkif
Dernière édition par weedo le Lun Fév 25, 2008 11:29, édité 1 fois.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
weedo a écrit:Quand je dis que ça ne fonctionne pas c'est que ça fonctionne à moitié (cf 1°mess) et je n'ai pas d'erreur... à la limite je préfèrerai en avoir une mais la rien... l'adresse s'écrit encore et toujours www.mon-site.fr/index.php.search=requete![]()
C'est normal! Tu as parlé de récriture, pas de redirection...
Ajoute [L,R=301] a la fin de la dernière règle, et dis nous quelle variante(s) marche(nt).
-

weedo - Nouveau WRInaute

- Messages: 44
- Inscription: 16 Jan 2008
Je pensais que dans la mesure ou j'aimerais réécrire une adresse du type index.php?search=requete il s'agissait d'url rewriting, car les fichiers index/file-$requete.html n'existent pas... J'ai essayé de rajouter le [L,R=301] ça ne change rien (toutes soluces confondues)... C'est quand même fou ! d'autant que si les premières lignes servant à éviter la disparition des www fonctionnent, c'est bien que le mod_rewrite est activé. Bref, j'y comprend plus grand chose
- capleton59
- WRInaute occasionnel

- Messages: 302
- Inscription: 24 Avr 2005
et si tu tapes ton adresse "réécrite" directement dans la basse d'adresse ca donne quoi ??
-

weedo - Nouveau WRInaute

- Messages: 44
- Inscription: 16 Jan 2008
jeroen a écrit:As tu essayé ma solution ?
Ton .htaccess est bien à la racine de ton site ?
Oui j'ai testé ta solution et ça ne foncitonne pas, le .htaccess est bien à la racine du site...
et si tu tapes ton adresse "réécrite" directement dans la basse d'adresse ca donne quoi ??
Et bien curieusement ça fonctionne, j'entend par la que je tombe sur la même page qu'avec l'url originale.
Mon code :
- Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteRule ^index-([0-9a-zA-Z-]+)-([0-9a-zA-Z-]+)\.html$ index.php?$1=$2
Donc pour résumer je tappe la requête test : index.php?search=test j'ai donc ma page de résultats.
Et quand je tape index-search-test.html je tombe sur la même page...
Comment faire pour que quand j'entre "test" dans le formulaire la réécriture fonctionne comme elle devrait... et donc m'afficher dans la barre d'adresse http://www.mon-site.fr/index-search-test.html au lieu de http://www.mon-site.fr/index.php?search=test
Merci beaucoup pour votre aide
- jeroen
- WRInaute passionné

- Messages: 2461
- Inscription: 30 Aoû 2002
on y est : encore un qui n'a pas compris....
Ta réécriture marche donc, puisque quand tu appelle l'url index-search-test.html ton serveur te renvoie bien l'URL index.php?search=test
Le problème est ailleurs : tu voudrais qu'à la soumission du formulaire ce soit la page index-search-test.html qui soit demandée.
Deux solutions !
1/ Via javascript
2/ Via un test du REQUEST_URI + redirection 301 dans le .htaccess ou dans la page cible du formulaire.
http://www.google.fr/search?q=rewritecond+request_uri
Ta réécriture marche donc, puisque quand tu appelle l'url index-search-test.html ton serveur te renvoie bien l'URL index.php?search=test
Le problème est ailleurs : tu voudrais qu'à la soumission du formulaire ce soit la page index-search-test.html qui soit demandée.
Deux solutions !
1/ Via javascript
2/ Via un test du REQUEST_URI + redirection 301 dans le .htaccess ou dans la page cible du formulaire.
http://www.google.fr/search?q=rewritecond+request_uri
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
et avec ca :
- Code: Tout sélectionner
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.mon-site.fr$
RewriteRule ^(.*) http://www.mon-site.fr/$1 [QSA,L,R=301]
RewriteCond %{QUERY_STRING} ^search=([^&]+)$
RewriteRule ^ index\.php$ /index/file-%1.html? [R=301,L]
RewriteRule ^index/file-([0-9a-zA-Z-]+)\.html$ /index.php?search=$2&stop
- capleton59
- WRInaute occasionnel

- Messages: 302
- Inscription: 24 Avr 2005
jeroen a écrit:on y est : encore un qui n'a pas compris....
Ta réécriture marche donc, puisque quand tu appelle l'url index-search-test.html ton serveur te renvoie bien l'URL index.php?search=test
Le problème est ailleurs : tu voudrais qu'à la soumission du formulaire ce soit la page index-search-test.html qui soit demandée.
D
c'est bien pour ça que j'avais posé ma question
c'est un probleme de réécriture mais en interne, dans le script php
33 messages
• Page 1 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- A moitié pleine ou à moitié vide?
- cherche outil densité... fonctionnant en local
- url rewriting simple ne fonctionnant pas
- selected d'une liste déroulante ne fonctionnant pas
- JS : script menu déroulant fonctionnant sur FF, IE8, WK mais pas IE6 et 7 !
- Rewriting marche à moitié!!
- UrL Rewriting à moitié !
- Ca marche mais a moitié
- [à moitié RESOLU] integration phpmynewsletter
- A moitié absent du directory de google...
Consultez la description détaillée des produits ou services de Google suivants : Google Earth pour iPhone et iPod Touch
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


