[URL Rewriting] utiliser une fonction PHP...mais où ?
Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
11 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
- Sami
- WRInaute discret

- Messages: 61
- Inscription: 21 Sep 2002
[URL Rewriting] utiliser une fonction PHP...mais où ?
Bonjour,
J'ai défnies des règles dans mon fichire .htaccess mais elles n'ont pas marché, alors j'ai trouvé un script php qui fait la même chose :
Lien : http://www.webmaster-experience.net/art ... cle-2.html
Cependant je ne sais pas comment l'intéger ?? et comment il sera appelé ? bref je n'ai pas compris comment l'utiliser.
Je voudrais l'appliquer à la page suivante :
http://www.toto.com/accueil.php?paramA=1¶mB=TITI
où intéger cette fonction ? comment l'exploiter ? ...
J'ai défnies des règles dans mon fichire .htaccess mais elles n'ont pas marché, alors j'ai trouvé un script php qui fait la même chose :
- Code: Tout sélectionner
function lienurlrewriting($url) {
if (eregi("(.*).php(.*)",$url,$regs)) {
$monurl = $regs[1];
$geturl = $regs[2];
while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) {
$geturl = $regs[1]."-".$regs[3]."-".$regs[4].$regs[5];
}
$url = $monurl.$geturl;
} elseif(eregi("(.*).php",$url,$regs)) {
$url = $regs[1];
}
return $url.".html";
}
Lien : http://www.webmaster-experience.net/art ... cle-2.html
Cependant je ne sais pas comment l'intéger ?? et comment il sera appelé ? bref je n'ai pas compris comment l'utiliser.
Je voudrais l'appliquer à la page suivante :
http://www.toto.com/accueil.php?paramA=1¶mB=TITI
où intéger cette fonction ? comment l'exploiter ? ...
- alain-b
- WRInaute occasionnel

- Messages: 395
- Inscription: 17 Déc 2002
A mon avis il faut commencer dans le .htaccess à rediriger toutes les pages html vers le fichier index.php.
La fonction Php sert a extraire les variables utiles de l'adresse html. La variable $url est $_SERVER['REQUEST_URI']
La fonction filtre index.php et a partir de variables, on construit alors les pages spécifiques.
La fonction Php sert a extraire les variables utiles de l'adresse html. La variable $url est $_SERVER['REQUEST_URI']
La fonction filtre index.php et a partir de variables, on construit alors les pages spécifiques.
- Sami
- WRInaute discret

- Messages: 61
- Inscription: 21 Sep 2002
c-a-d que dans notre page index.php on aura un truc du genre :
c'est ça ?[/quote]
- Code: Tout sélectionner
<?
...
header(lienurlrewriting($url));
?>
c'est ça ?[/quote]
- alain-b
- WRInaute occasionnel

- Messages: 395
- Inscription: 17 Déc 2002
Je crois que j'avais mal lu le code. En fait cette fonction n'est pas utilisée pour remplacer le module rewrite d'apache mais pour générer des adresses html dans un script php. ( C'est l'opération inverse .. par exemple dans un script de forum ou de petites annonces, c apermet de générer des adresses html).
Mais c'est tout a fait possible de se passer du module rewrite. Comme je le disais on redirige toutes les pages avec l'extension HTML sur le fichier index.php et on utilise une routine qui parse l'adresse HTML récupérée dans REQUEST_URI pour extraire les variables. Il faut utiliser les fonction de traitement de chaines de caractère de php et les expressions régulières. Ce qui est aussi complexe que d'utiliser le mode rewrite dans le .htacess ...
Mais c'est tout a fait possible de se passer du module rewrite. Comme je le disais on redirige toutes les pages avec l'extension HTML sur le fichier index.php et on utilise une routine qui parse l'adresse HTML récupérée dans REQUEST_URI pour extraire les variables. Il faut utiliser les fonction de traitement de chaines de caractère de php et les expressions régulières. Ce qui est aussi complexe que d'utiliser le mode rewrite dans le .htacess ...
- Sami
- WRInaute discret

- Messages: 61
- Inscription: 21 Sep 2002
et la fonction ci-dessus ne permet par de parser les url ? le pb c'est que l'utilité et surtout, l'utilication, n'est pas claire du tout !!!
Si je demande des détails concernant cette fonction c'est parceque les règles définies dans le fichiers .htaccess ne veulent par marcher
Mon but étant de faire l'urlrewriting pour des pages php comme index.php?marque=TOTO&id=1
Si je demande des détails concernant cette fonction c'est parceque les règles définies dans le fichiers .htaccess ne veulent par marcher
- alain-b
- WRInaute occasionnel

- Messages: 395
- Inscription: 17 Déc 2002
Sami a écrit: Mon but étant de faire l'urlrewriting pour des pages php comme index.php?marque=TOTO&id=1
Si ton site utilise un script qui génére des adresses de ce type
index.php?marque=TOTO&id=1
tu peux effectivement utiliser la fonction pour transformer ces adresses en adresses avec extension HTML dans tes pages.
Mais il faudra utiliser le module rewrite et le .htaccess lors de l'appel des pages pour effectuer l'opération inverse ( récupérer les variables)
- Sami
- WRInaute discret

- Messages: 61
- Inscription: 21 Sep 2002
alain-b a écrit:Si ton site utilise un script qui génére des adresses de ce type
index.php?marque=TOTO&id=1
- alain-b
- WRInaute occasionnel

- Messages: 395
- Inscription: 17 Déc 2002
Soit tu ré-écris à la main les adresses php en adresses html, soit tu utilises la fonction pour faire la meme opération.
$lien_html=lienurlrewriting($lien_php)
La 2em étape, c'est d'appliquer la regle inverse dans le .htaccess pour que le site fonctionne.
$lien_html=lienurlrewriting($lien_php)
La 2em étape, c'est d'appliquer la regle inverse dans le .htaccess pour que le site fonctionne.
- chione
- Nouveau WRInaute

- Messages: 17
- Inscription: 10 Jan 2006
J'ai la réponse, il se trouve que j'avais déjà utilisé cette fonction avant.
voilà , cette fonction transforme une url de la forme www.toto.com/tete.php?00=teteatoto en www.toto.com/tete-00-teteatoto.html.
Pour que la fonction fonctionne, il faut soit l'écrire avant de l'appeler, soit le mettre dans un fichier fonction exemple fonctions.php puis de l'appeler avec un include include("fonctions.php");
ensuite il te faut mettre un fichier htaccess aproprié qui contient des regex qui correspondent à la fonction: et le voilà :
voilà , ça devrait fonctionner, seul truc, si vous n'etes pas dans le fichier racine (exemple vous etes sur www.toto.com/chemin/fichier.php, changé le fichier .htaccess comme suit:
dans tous les cas, utilsez des url absolues et non relatives.
Si y'a des questions je serais heureux d'y répondre.
voilà , cette fonction transforme une url de la forme www.toto.com/tete.php?00=teteatoto en www.toto.com/tete-00-teteatoto.html.
Pour que la fonction fonctionne, il faut soit l'écrire avant de l'appeler, soit le mettre dans un fichier fonction exemple fonctions.php puis de l'appeler avec un include include("fonctions.php");
ensuite il te faut mettre un fichier htaccess aproprié qui contient des regex qui correspondent à la fonction: et le voilà :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html /$1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html /$1.php?$2=$3$4 [L]
RewriteRule ^(.*).html /$1.php [L]
voilà , ça devrait fonctionner, seul truc, si vous n'etes pas dans le fichier racine (exemple vous etes sur www.toto.com/chemin/fichier.php, changé le fichier .htaccess comme suit:
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html chemin/$1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html chemin/$1.php?$2=$3$4 [L]
RewriteRule ^(.*).html /$1.php [L]
dans tous les cas, utilsez des url absolues et non relatives.
Si y'a des questions je serais heureux d'y répondre.
11 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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 :
- URL Rewriting : comment utiliser le signe '=' dans une %{QUERY_STRING}
- cannot redeclare same fonction avec url rewriting....
- [URL Rewriting] Réécriture en fonction de la langue
- PB URL REWRITING dans une fonction
- Url Rewriting en fonction des dossiers
- Rewriting et fonction php pour modifier les liens internes
- Utiliser le PHP pour éviter d'avoir son site accessible via plusieurs URL
- Ajout d'une fonction url clicable dans un module php
- url rewriting sur url php a point
- Comment utiliser la fonction linkdomain
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- l'URL Rewriting expliqué aux débutants
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Gérer l'entête HTTP en PHP
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Aperçu des différents types de redirection
- Le référencement de pages PHP
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
- Suggestion de mots-clés
Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter. - Analyse des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

