Comprends rien ...
15 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Comprends rien ...
Bonjour à tous,
Je me lance dans le rewriting et la, je crois que les 2 seuls neurrones qui me restent sont en train de partir en courant.
J'explique :
Sur mon site les url sont comme ceci : http://www.monsite.com/index.php?cPath=87 ou http://www.monsite.com/index.php?cPath=87_27 ou encore http://www.monsite.com/product_info.php ... ucts_id=94
J'ai mis dans le .htaccess (pour la première forme d'Url)
Donc, lorsque l'on tape http://www.monsite.com/produit-xxxxx.html , on va à l'adresse php correspondante. OK, mais il ne faudrais faire l'inverse ? Pour le référencement ?
Merci
Je me lance dans le rewriting et la, je crois que les 2 seuls neurrones qui me restent sont en train de partir en courant.
J'explique :
Sur mon site les url sont comme ceci : http://www.monsite.com/index.php?cPath=87 ou http://www.monsite.com/index.php?cPath=87_27 ou encore http://www.monsite.com/product_info.php ... ucts_id=94
J'ai mis dans le .htaccess (pour la première forme d'Url)
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^produit-([0-9]+)\.html$ index.php?cPath=$1 [L]
Donc, lorsque l'on tape http://www.monsite.com/produit-xxxxx.html , on va à l'adresse php correspondante. OK, mais il ne faudrais faire l'inverse ? Pour le référencement ?
Merci
- squawk
- WRInaute accro

- Messages: 5985
- Inscription: 22 Mar 2004
Donc, lorsque l'on tape http://www.monsite.com/produit-xxxxx.html , on va à l'adresse php correspondante. OK, mais il ne faudrais faire l'inverse ? Pour le référencement ?
Ben non, si tout tes liens sont en .html, google ne vera que ces adresses et indexera les adresses en .html.
SquawK
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Argh ..... j'ai loupé un truc la ....
Dans l'exemple ci dessus, personne ne peut connaître l'existence de cette adresse, elle n'est déclarée nulle part ......
Les seules adresses de mon site sont du type php .....
Comprends plus la
Dans l'exemple ci dessus, personne ne peut connaître l'existence de cette adresse, elle n'est déclarée nulle part ......
Les seules adresses de mon site sont du type php .....
Comprends plus la
- Lord Farquaad
- WRInaute discret

- Messages: 124
- Inscription: 1 Mai 2004
Lol ben il faut alors que tu corriges tous tes liens 
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Yes, c'est bien cela ....
Comprends mieu pourquoi ......
Comprends mieu pourquoi ......
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Re,
Donc le rewriting permet de faire du php avec du html mais pas l'inverse ?
Donc le rewriting permet de faire du php avec du html mais pas l'inverse ?
-

deweerdt - WRInaute impliqué

- Messages: 912
- Inscription: 12 Aoû 2003
Je ne dirais pas vraiment ça comme ça, je dirais plutot que le rewriting sert à mettre des variables dans un nom de fichier et non sous la forme xxx.php?mavar1=valeur1&mavar2=valeur2 ainsi Google n'a pas l'impression qu'il s'agisse d'une page dynamique avec des variables et il a tendence à préférer ça. On me corrigera si je me trompe.
-

macjee - WRInaute occasionnel

- Messages: 411
- Inscription: 29 Avr 2003
Salut
L'url rewriting c'est juste un système pour que l'adresse A aille en réalité sur l'adresse B.
Si tu veux que s'affiche que des adresses HTML dans les nagivateurs de tes internautes alors tu dois changer tout tes les liens en versions HTML.
Lors que l'internaute clique sur un lien de ton site HTML, il va être soumis au regle de l'url rewriting et le serveur va comprendre qu'il faut lire tel fichier (généralement PHP)
Pour le referencement tu as plusieurs solutions. Soi tu attends un full crawl de Google (tout les mois, mois 1/2 si je ne me trompe) soit tu utilises un code pour faire redirigier tes adresses PHP vers tes adresses HTML (avec un code 301) SEULEMENT SI l'adresse de la requete contient un fichier PHP (sinon tu boucles )
je ne sais pas si je t'ai donné des réponses
L'url rewriting c'est juste un système pour que l'adresse A aille en réalité sur l'adresse B.
Si tu veux que s'affiche que des adresses HTML dans les nagivateurs de tes internautes alors tu dois changer tout tes les liens en versions HTML.
Lors que l'internaute clique sur un lien de ton site HTML, il va être soumis au regle de l'url rewriting et le serveur va comprendre qu'il faut lire tel fichier (généralement PHP)
Pour le referencement tu as plusieurs solutions. Soi tu attends un full crawl de Google (tout les mois, mois 1/2 si je ne me trompe) soit tu utilises un code pour faire redirigier tes adresses PHP vers tes adresses HTML (avec un code 301) SEULEMENT SI l'adresse de la requete contient un fichier PHP (sinon tu boucles )
je ne sais pas si je t'ai donné des réponses
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Euh ... oui,
Par contre,
si tu peux m'eclaicir pour ça ?
Par contre,
Pour le referencement tu as plusieurs solutions. Soi tu attends un full crawl de Google (tout les mois, mois 1/2 si je ne me trompe) soit tu utilises un code pour faire redirigier tes adresses PHP vers tes adresses HTML (avec un code 301) SEULEMENT SI l'adresse de la requete contient un fichier PHP (sinon tu boucles )
si tu peux m'eclaicir pour ça ?
-

WebRankInfo - Administrateur du site

- Messages: 19415
- Inscription: 19 Avr 2002
au fait, as-tu lu l'article de présentation de l'URL Rewriting ?
j'ai écrit entre autres :
j'ai écrit entre autres :
tu n'as pas fait l'étape 4 ?URL Rewriting : les étapes pour la mise en place
1- Vérifier que votre hébergeur permet l'utilisation de l'URL Rewriting. Si vous êtes chez un hébergeur gratuit qui ne le gère pas, c'est une très bonne raison pour franchir le cap et bénéficer de tous les avantages d'un hébergement professionnel (ça ne coûte pas grand chose...)
2- Identifier les pages dynamiques dont l'URL comporte des paramètres, et choisir un nouveau schéma d'URL "propre"
3- Ecrire les règles de réécriture dans le fichier .htaccess
4- Changer tous les liens vers chaque fichier dont l'URL a changé
5- Mettre à jour votre site et vérifier que tout fonctionne
- Lord Farquaad
- WRInaute discret

- Messages: 124
- Inscription: 1 Mai 2004
Oh tiens c'est encore en ligne ça ?
WebRankInfo, il faudrait que tu vérifies les liens "pour aller plus loin" au bas de cette page
WebRankInfo, il faudrait que tu vérifies les liens "pour aller plus loin" au bas de cette page
-

macjee - WRInaute occasionnel

- Messages: 411
- Inscription: 29 Avr 2003
patotoche65 a écrit:Pour le referencement tu as plusieurs solutions. Soi tu attends un full crawl de Google (tout les mois, mois 1/2 si je ne me trompe) soit tu utilises un code pour faire redirigier tes adresses PHP vers tes adresses HTML (avec un code 301) SEULEMENT SI l'adresse de la requete contient un fichier PHP (sinon tu boucles )
si tu peux m'eclaicir pour ça ?
Alors là il faudrait que des experts confirment mes dires
Je ne sais pas si tu connais le PHP mais c'est la seule solution en mutualisé. Il faut regarder la variable REQUEST_URI qui est l'adresse demandé (une partie sans le nom de domaine).
Si l'adresse demandée est de type .php alors tu rediriges avec un Header 301 vers ton adresse HTML.
Si l'adresse demandée est de type HTML alors tu ne fais rien.
Ainsi voilà ce qu'ils se passe.
a) Si un internaute arrive chez toi par une adresse HTML, le URL rewriting dit au serveur qu'il faut se servir de telle adresse PHP, dans ton script PHP le REQUEST_URI contiendra l'adresse HTML (celle demandée par l'internaute) donc ne referra pas de redirection donc executera et affichera la page.
b) S'il arrive par une adresse PHP, le URL rewriting ne fonctionne pas, le script PHP detecte une adresse PHP (l'adresse demandée est de type php), il redirige alors vers l'adresse HTML et tu reviens en a)
En fait le script php se borne à faire l'envers de ce que tu fais dans l'url rewriting.
- Lord Farquaad
- WRInaute discret

- Messages: 124
- Inscription: 1 Mai 2004
Pour le B je propose plutôt d'utiliser quand même l'url rewriting avec une redirection 301, querlque chose du genre:
(tiens, j'ai un doute sur le [C] là, mais je vais poser ma question ailleurs: là où j'en ai besoin
)
Enfin, sinon si tu le fais quand même avec php, je te conseille plutôt d'utiliser e tableau $_Get ce sera plussimple
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^index.php$ produit-%{QUERY_STRING}.html [C]
RewriteRule ^produit-.*cPath=([0-9]+)(&.*)?.html produit-$1.html [r=301]
(tiens, j'ai un doute sur le [C] là, mais je vais poser ma question ailleurs: là où j'en ai besoin
Enfin, sinon si tu le fais quand même avec php, je te conseille plutôt d'utiliser e tableau $_Get ce sera plussimple
-

patotoche65 - WRInaute discret

- Messages: 72
- Inscription: 3 Mai 2004
Salut à tous et merci de vos réponses à un newbie comme moi ...,
bon j'ai pas mal avancé,
Voici ce que j'avais au départ :
Voici ce que j'ai maintenant :
Il me faudrais donc :
Il me manque juste le .html à la fin .... Mais je sais pas comment faire ....
Voici les codes permettant ce résultat :
Et :
Si QQun a une idée .....
Merci
bon j'ai pas mal avancé,
Voici ce que j'avais au départ :
http://www.monsite.com/index.php?cPath=51&osCsid=43346cea00c0fad26d8b9845a1a98457
Voici ce que j'ai maintenant :
http://www.monsite.com/Consommables
Il me faudrais donc :
http://www.monsite.com/Consommables.html
Il me manque juste le .html à la fin .... Mais je sais pas comment faire ....
Voici les codes permettant ce résultat :
$separator = '?';
if (tep_not_null($parameters)) {
$product_name = '';
switch ($page) {
case FILENAME_PRODUCT_INFO:
case FILENAME_DEFAULT:
$manufacturer_name = '';
$product_name = '';
$new_parameter_list = array();
$cPath_list = array();
foreach (explode('&', $parameters) as $pair) {
global $languages_id;
$pair_array = explode('=', $pair);
switch ($pair_array[0]) {
case 'action':
$link .= $page . '?' . tep_output_string($parameters);
$separator = '&';
break 3;
case 'cPath':
$parent_id = 0;
foreach (explode('_', $pair_array[1]) as $category_id) {
$category_name_query = tep_db_query("select cd.categories_name from categories_description cd, categories c where cd.categories_id=c.categories_id and cd.categories_id='" . (int)$category_id . "' and cd.language_id='" . (int)$languages_id . "' and c.parent_id='" . (int)$parent_id . "'");
if ($category_name_array = tep_db_fetch_array($category_name_query)) {
$cPath_list[]= urlencode($category_name_array['categories_name']);
$parent_id = $category_id;
}
}
break;
case 'products_id':
$product_name_query = tep_db_query("select products_name from products_description where products_id='" . (int)$pair_array[1] . "' and language_id='" . (int)$languages_id . "'");
if ($product_name_array = tep_db_fetch_array($product_name_query)) {
$product_name = $product_name_array['products_name'];
}
break;
case 'manufacturers_id':
$manufacturer_name_query = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id='" . (int)$pair_array[1] . "'");
if ($manufacturer_array = tep_db_fetch_array($manufacturer_name_query)) {
$manufacturer_name = $manufacturer_array['manufacturers_name'];
}
break;
case '':
break;
default:
if (tep_not_null($pair)) $new_parameter_list[]= $pair;
}
}
if (tep_not_null($manufacturer_name)) {
$cPath_list[]= urlencode($manufacturer_name);
}
if (tep_not_null($product_name)) {
$cPath_list[]= urlencode($product_name);
}
$separator = '?';
$link .= preg_replace('/%2F/', '%20', implode('/', $cPath_list));
if (tep_not_null($new_parameter_list)) {
$link .= $separator . implode('&', $new_parameter_list);
$separator = '&';
}
break;
default:
$link .= $page . '?' . tep_output_string($parameters);
$separator = '&';
}
} else {
$link .= $page;
$separator = '?';
}
Et :
include('includes/application_top.php');
if ($REQUEST_URI == '') {
tep_redirect(tep_href_link(FILENAME_DEFAULT));
}
if ($REQUEST_TYPE == 'SSL') {
$comparison_array = explode('/', HTTPS_SERVER . DIR_WS_HTTPS_CATALOG, 4);
} else {
$comparison_array = explode('/', HTTP_SERVER . DIR_WS_HTTP_CATALOG, 4);
}
$comparison = $comparison_array[3];
$parts = explode('?', str_replace($comparison, '', $REQUEST_URI), 2);
$list = explode('/', preg_replace(array('#^/#', '#/$#'), '', $parts[0]));
if (sizeof($parts) == 2) {
$parameters = explode('&', $parts[1]);
foreach ($parameters as $pair) {
$pieces = explode('=', $pair);
$HTTP_GET_VARS[$pieces[0]] = $pieces[1];
}
}
$current_category_id = 0;
$cPath_array = array();
$count = 0;
foreach ($list as $piece_encoded) {
$count++;
$piece = urldecode(preg_replace(array('/[+]/', '/%20/'), array(' ', '%2F'), $piece_encoded));
if ($piece == 'catalog') {
continue;
}
$query_string = "select cd.categories_id from categories_description cd, categories c where cd.categories_id=c.categories_id and cd.categories_name='" . tep_db_input($piece) . "' and c.parent_id='" . (int)$current_category_id . "'";
$category_query = tep_db_query("select cd.categories_id from categories_description cd, categories c where cd.categories_id=c.categories_id and cd.categories_name='" . tep_db_input($piece) . "' and c.parent_id='" . (int)$current_category_id . "'");
if ($category_array = tep_db_fetch_array($category_query)) {
$cPath_array[]= $category_array['categories_id'];
$breadcrumb->add($piece, tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', $cPath_array)));
$current_category_id = $category_array['categories_id'];
} else {
if ($current_category_id != '0') {
$parent_where_string = " and p2c.categories_id='" . (int)$current_category_id . "'";
} else {
$parent_where_string = '';
}
$product_query = tep_db_query("select pd.products_id from products_description pd, products_to_categories p2c, products p where p.products_id = pd.products_id and p.products_status = '1' and pd.products_id=p2c.products_id and pd.products_name='" . tep_db_input($piece) . "'" . $parent_where_string);
if ($product_array = tep_db_fetch_array($product_query)) {
if (sizeof($cPath_array) < 1) {
$cPath = tep_get_product_path($product_array['products_id']);
$cPath_array = explode('_', $cPath);
for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) {
$categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");
if (tep_db_num_rows($categories_query) > 0) {
$categories = tep_db_fetch_array($categories_query); $breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1)))));
} else {
break;
}
}
} else {
$cPath = implode('_', $cPath_array);
}
$breadcrumb->add($piece, tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $product_array['products_id']));
$HTTP_GET_VARS['products_id'] = $product_array['products_id'];
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_PRODUCT_INFO;
$PHP_SELF = $PHP_SELF_REWRITE;
include(FILENAME_PRODUCT_INFO);
exit();
} else {
$manufacturer_query = tep_db_query("select manufacturers_id from manufacturers where manufacturers_name='" . tep_db_input($piece) . "'");
if ($manufacturer_array = tep_db_fetch_array($manufacturer_query)) {
$breadcrumb->add($piece, tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', $cPath_array) . 'manufacturers_id=' . (int)$manufacturers_array['manufacturers_id']));
$HTTP_GET_VARS['manufacturers_id'] = $manufacturer_array['manufacturers_id'];
if ($count == sizeof($list)) {
$HTTP_GET_VARS['filter_id'] = $current_category_id;
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_DEFAULT;
$PHP_SELF = $PHP_SELF_REWRITE;
$cPath = implode('_', $cPath_array);
$HTTP_GET_VARS['cPath'] = $cPath;
include(FILENAME_DEFAULT);
exit();
}
} else {
reset($list);
tep_redirect(tep_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords=' . implode('+', $list)));
}
}
}
}
$cPath = implode('_', $cPath_array);
$HTTP_GET_VARS['cPath'] = $cPath;
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_DEFAULT;
$PHP_SELF = $PHP_SELF_REWRITE;
include(FILENAME_DEFAULT);
?>
Si QQun a une idée .....
Merci
15 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 :
- GlobalWarming Awareness2007 : dommages collatéraux chez Wikipedia - 22-01-2007
- Liens nofollow : Google change les règles ! - 15-06-2009
- Le bêtisier 2010 du site WebRankInfo : les meilleures perles - 03-01-2011
- Les perles de WebRankInfo en 2007 - 20-12-2007
- Compte-rendu du chat de Fred Cavazza sur WebRankInfo - 26-03-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
