Réécriture d' URL: monsite.com/flux.php?id=1&titre=test
13 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
Réécriture d' URL: monsite.com/flux.php?id=1&titre=test
Bonjour,
je veux réécrire mes urls sous cette forme : -www.monsite.com/test.html.
Pour le moment, mes url sont de la forme : -www.monsite.com/flux.php?id=1&titre=test
Je pensais utiliser cette synthaxe dans mon fichier .htaccess mais je n'obtient aucun changement :
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName -www.bef1rst.com
AuthUserFile /home/bef1rst/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/bef1rst/public_html/_vti_pvt/service.grp
RewriteEngine on
RewriteRule ^([0-9]+)-([0-9]+)\.html$ flux.php?id=$1&titre=$2 [L]
Pouvez vous m'aider ?
Une autre petite question, j'ai un blog sur mon site et il a son propre fichier htaccess. Est ce génant ? Dois je regrouper tous ces fichiers en 1 ?
Merci
je veux réécrire mes urls sous cette forme : -www.monsite.com/test.html.
Pour le moment, mes url sont de la forme : -www.monsite.com/flux.php?id=1&titre=test
Je pensais utiliser cette synthaxe dans mon fichier .htaccess mais je n'obtient aucun changement :
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName -www.bef1rst.com
AuthUserFile /home/bef1rst/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/bef1rst/public_html/_vti_pvt/service.grp
RewriteEngine on
RewriteRule ^([0-9]+)-([0-9]+)\.html$ flux.php?id=$1&titre=$2 [L]
Pouvez vous m'aider ?
Une autre petite question, j'ai un blog sur mon site et il a son propre fichier htaccess. Est ce génant ? Dois je regrouper tous ces fichiers en 1 ?
Merci
- Invité
^([0-9]+)-([0-9]+)\.html$ veut dire que tu attends des url avec du numerique de la forme 12345-6789.html
Pour obtenir des url rewritées de la form flux.php?id=$1&titre=$2
- dans le htaccess ^([0-9]+)-([a-zA-Z]+)\.html$
- et des pages 1234-test.html
Parce que dans le cas exposé je ne vois pas de numérique dans la page appelée.
Pour obtenir des url rewritées de la form flux.php?id=$1&titre=$2
- dans le htaccess ^([0-9]+)-([a-zA-Z]+)\.html$
- et des pages 1234-test.html
Parce que dans le cas exposé je ne vois pas de numérique dans la page appelée.
merci pour ta reponse, je vais tester cela rapidement. Mais tu peux me dire si le fait de placer le fichier .htaccess dans un repertoire permet d'appliquer les regles uniquement pour les pages contenues dans ce repertoire.
A+
A+
- Invité
Oui c'est exactement ce qu'il faut faire. le htaccess placé dans un sous-directory sera utilisé par le serveur HTTP en lieu et place de celui du directory parent sauf si l'option inherit est utilsé dans le paramètre "RewriteOptions" (cf. aide mod_rewrite) auquel cas le htaccess parent est aussi utilisé.
Les règles positionnés sur ce directory seront aussi valables pour les sous-directory de celui-ci.
Les règles positionnés sur ce directory seront aussi valables pour les sous-directory de celui-ci.
The RewriteOptions directive sets some special options for the current per-server or per-directory configuration. The Option strings can be one of the following:
inherit
This forces the current configuration to inherit the configuration of the parent. In per-virtual-server context this means that the maps, conditions and rules of the main server are inherited. In per-directory context this means that conditions and rules of the parent directory's .htaccess configuration are inherited.
- Invité
Sinon pour obtenir
w-w.monsite.com/flux.php?id=1&titre=test
à partir de
w-w.monsite.com/test.html
du doit écrire
^([a-zA-Z]+)\.html /flux.php?id=1&titre=$2
mais ta valeur id est fixe car dans l'url de base je ne vois pas ou tu peux la récupérer....
w-w.monsite.com/flux.php?id=1&titre=test
à partir de
w-w.monsite.com/test.html
du doit écrire
^([a-zA-Z]+)\.html /flux.php?id=1&titre=$2
mais ta valeur id est fixe car dans l'url de base je ne vois pas ou tu peux la récupérer....
je te donne l'adresse de la page :
http://www.bef1rst.com/dev/index.php .
Le premier lien pointe vers :
http://www.bef1rst.com/dev/flux.php?id= ... oic-lemeur
et je veux obtenir :
http://www.bef1rst.com/dev/1-loic-lemeur.html
Le fichier .htaccess a été placé à cette adresse :
http://www.bef1rst.com/dev/.htaccess
avec cette synthaxe :
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName www.bef1rst.com
AuthUserFile /home/bef1rst/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/bef1rst/public_html/_vti_pvt/service.grp
RewriteEngine on
RewriteRule ^([0-9]+)-([a-zA-Z]+)\.html$ flux.php?id=$1&titre=$2 [L]
Une idée de l'erreur ? Merci encore pour votre aide
http://www.bef1rst.com/dev/index.php .
Le premier lien pointe vers :
http://www.bef1rst.com/dev/flux.php?id= ... oic-lemeur
et je veux obtenir :
http://www.bef1rst.com/dev/1-loic-lemeur.html
Le fichier .htaccess a été placé à cette adresse :
http://www.bef1rst.com/dev/.htaccess
avec cette synthaxe :
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName www.bef1rst.com
AuthUserFile /home/bef1rst/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/bef1rst/public_html/_vti_pvt/service.grp
RewriteEngine on
RewriteRule ^([0-9]+)-([a-zA-Z]+)\.html$ flux.php?id=$1&titre=$2 [L]
Une idée de l'erreur ? Merci encore pour votre aide
- Invité
Tu veux faire l'inverse de ce que tu demandais et de plus tu n'es pas sur la racine de ton site comme tu l'avais dis
dans ta page les liens doivent être fait comme suit
dans ton htaccess
dans ta page les liens doivent être fait comme suit
- Code: Tout sélectionner
<a href="http://www.bef1rst.com/dev/1-loic-lemeur.html">...</a>
dans ton htaccess
- Code: Tout sélectionner
RewriteBase /dev
RewriteRule ^([^-]+)-(.+)\.html$ /dev/flux.php?id=$1&titre=$2 [L]
1/ Je récapituel pour être sur que l'on parle bien de la même chose :
- dans mon fichier index.php, les liens doivet être de la forme <a href="http://www.bef1rst.com/dev/1-loic-lemeur.html">...</a> . De ce coté la, je pense aue c'est ok. J'ai recomposé mes url dynamiquement en respectant cette structure. (http://www.bef1rst.com/dev/) avec ce code :
echo '<a href="' .$row[id]. '-'.$row[titre].'.html">' .$row[nom]. '</a><br>' ;
- mais pour le fichier actuel flux.php, je ne peux plus récupérer l'id dans l'URL avec cette syntaxe... C'est ce que je ne comprends pas.
$idurl = $_GET['id'];
$result = mysql_query("SELECT id,nom,adresse from dev where id=$idurl");
2/ Je cherche bien a obtenir des rul du type http://www.bef1rst.com/dev/1-loic-lemeur.html avec le fichier flux.php.
3/ J'ai modifié le code du .htaccess avec ta proposition:
RewriteBase /dev
RewriteRule ^([^-]+)-(.+)\.html$ /dev/flux.php?id=$1&titre=$2 [L]
mais nous sommes bien d'accord que c'est le fichier htaccess à la racine du site qui doit être modifié ?
Merci pour ta persévérance Darfire, et bravo pour le design de ton site qui est très sympa!
- dans mon fichier index.php, les liens doivet être de la forme <a href="http://www.bef1rst.com/dev/1-loic-lemeur.html">...</a> . De ce coté la, je pense aue c'est ok. J'ai recomposé mes url dynamiquement en respectant cette structure. (http://www.bef1rst.com/dev/) avec ce code :
echo '<a href="' .$row[id]. '-'.$row[titre].'.html">' .$row[nom]. '</a><br>' ;
- mais pour le fichier actuel flux.php, je ne peux plus récupérer l'id dans l'URL avec cette syntaxe... C'est ce que je ne comprends pas.
$idurl = $_GET['id'];
$result = mysql_query("SELECT id,nom,adresse from dev where id=$idurl");
2/ Je cherche bien a obtenir des rul du type http://www.bef1rst.com/dev/1-loic-lemeur.html avec le fichier flux.php.
3/ J'ai modifié le code du .htaccess avec ta proposition:
RewriteBase /dev
RewriteRule ^([^-]+)-(.+)\.html$ /dev/flux.php?id=$1&titre=$2 [L]
mais nous sommes bien d'accord que c'est le fichier htaccess à la racine du site qui doit être modifié ?
Merci pour ta persévérance Darfire, et bravo pour le design de ton site qui est très sympa!
- Invité
Non c'est celui du directory /dev
- pour un htaccess dans le directory /dev
- pour un htaccess à la racine de ton site
Dans ce 2ème cas ne met pas de htaccess dans ton directory /dev sauf si tu lui insères l'option "RewriteOptions" à "inherit" (voir mon post + haut)
- pour un htaccess dans le directory /dev
- Code: Tout sélectionner
RewriteBase /dev
RewriteRule ^([^-]+)-(.+)\.html$ /dev/flux.php?id=$1&titre=$2 [L]
- pour un htaccess à la racine de ton site
- Code: Tout sélectionner
RewriteRule ^dev/([^-]+)-(.+)\.html$ /dev/flux.php?id=$1&titre=$2 [L]
Dans ce 2ème cas ne met pas de htaccess dans ton directory /dev sauf si tu lui insères l'option "RewriteOptions" à "inherit" (voir mon post + haut)
OK c'est parfait. L'url rewritting fonctionne a merveille car quand je clic sur le lien "h**p://www.bef1rst.com/dev/1-loic-lemeur.html" dans la page index de mon test "h**p://www.bef1rst.com/dev/", j'arrive bien sur la page flux.php MAIS a ce moment la, je ne sais pas comment récupérer mon paramétre "id" pour composer ma requète..... ?
Avant l'url rewritting, je procédais de la sorte :
$idurl = $_GET['id'];
$result = mysql_query("SELECT id,nom,adresse from dev where id=$idurl");
while ( $row = mysql_fetch_array($result))
{
echo '<b>Nom du site: ' .$row[nom]. '</b><br>Adresse du flux: ' .$row[adresse]. '<br>ID: ' .$row[id].'<br><br>';
...
L'erreur que l'on peut voir correspond a la ligne :
while ( $row = mysql_fetch_array($result))
Avant l'url rewritting, je procédais de la sorte :
$idurl = $_GET['id'];
$result = mysql_query("SELECT id,nom,adresse from dev where id=$idurl");
while ( $row = mysql_fetch_array($result))
{
echo '<b>Nom du site: ' .$row[nom]. '</b><br>Adresse du flux: ' .$row[adresse]. '<br>ID: ' .$row[id].'<br><br>';
...
L'erreur que l'on peut voir correspond a la ligne :
while ( $row = mysql_fetch_array($result))
Oups, désolé je m'etais trompé, tout fonctionne parfaitement désormais !!! Merci beaucoup pour ta persévérance et la qualité de tes explications. Tu as été d'une grande aide pour mettre en place ce p*#[_( d'url rewritting....
13 messages • Page 1 sur 1
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 :
- Référencement vidéo sur Exalead
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Testez AdSense sans même vous inscrire !
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Google Dance : c'est parti ! Update de juillet 2002
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site
- Intégrer facilement un flux RSS externe
- Guide d'optimisation des redirections pour le référencement
- La mise à jour du mois d'avril
- url en monsite.com/index.php/page.html est gênant ?
- Les URL de type www.monsite.com/index.php?page=presentation
- url rewrite www.monsite vers monsite aide
- rediriger monsite/index.php vers monsite.com
- redirection -monsite.com/index.php vers -monsite.com
- PR différent pour monsite.com et monsite.com/index.php
- Double url www.monsite.com et monsite.com
- Rewriting sans préfixe : test.php -> index.php?page=test
- Test T6.1 : indexation URL en PHP - extension de fichier
- monsite.com/ et monsite.com/index.php ?
- monsite.com/ et monsite.com/index.php
Consultez la description détaillée des produits ou services de Google suivants : Google Blog Search, Google Music Search, Google Shared Stuff, Google Local Business Ads, Google Feed Fetcher
- Test de redirection
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Analyseur d'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum