michmuch51 Posté 22 Mars 2006 Posté 22 Mars 2006 Salut les Hubiens, je viens de mettre en place une boutique sous osc qui n'est pour le moment pas accessible avant que je n'ai tout fixé, mais je galère sur la mise en place d'une contrib pour le rewriting: contribution rewriting visiblement elle fonctionne très bien en tout cas mes liens sont réécris de façon sympa, j'ai du modifier le htaccess pour l'adapter à ovh (en rajoutant simplement le nom du répertoire): RewriteEngine onOptions +FollowSymLinksRewriteRule ^(en/.*)$ /monrepertoire/url_rewriting.php?$1 [L]RewriteRule ^(de/.*)$ /monrepertoire/url_rewriting.php?$1 [L]RewriteRule ^(es/.*)$ /monrepertoire/url_rewriting.php?$1 [L]RewriteRule ^(fr/.*)$ /monrepertoire/url_rewriting.php?$1 [L] comme je vous ai dit les liens sur osc sont de la forme souhaitée: http://www.monsite/monrepertoire/monnomdecategorie mais le problème c'est que lorsque je clique sur ces fameux liens ca me redirige vers: http://www.monsite/monrepertoire/index.php?cPath=12 (par exemple pour la categorie 12) alors que dans le code source ils sont réécris est ce qu'a votre avis le soucis viens du htaccess ou du fichier url_rewriting.php? Source de url_rewriting (en espérant que ca rende pas le post indigeste): <?php require('includes/application_top.php'); $get_array = explode('/', key($_GET)); $lang_code = $get_array[0]; $lang = tep_db_fetch_array(tep_db_query("select languages_id from " . TABLE_LANGUAGES . " where code = '" . tep_db_input($lang_code) . "'")); $lang_id = $lang['languages_id']; $parent_id = 0; if (empty($lang_id)) tep_redirect(HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_DEFAULT); for ($i=1; $i<sizeof($get_array); $i++) { if (ereg("(.+)_html$", $get_array[$i], $regs)) { // is a product $product_name = $regs[1]; if (ereg("-p([0-9]+)$", $product_name, $regs)) { $product_id = $regs[1]; } else { $products_query = tep_db_query("select products_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" .(int)$parent_id . "'"); $products_array = array(); while ($products = tep_db_fetch_array($products_query)) { $products_array[] = $products['products_id']; } foreach ($products_array as $product_id) { if ($product_name == tep_url_rewriting_cast(tep_get_products_name($product_id, $lang_id))) { // $product_id break; } } } tep_redirect(HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_PRODUCT_INFO . '?cPath=' . $cPath . '&products_id=' . $product_id); } else { // is a category if (ereg("-c([0-9]+)$", $get_array[$i], $regs)) { $parent_id = $regs[1]; } else { $categories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" .(int)$parent_id . "'"); $categories_array = array(); while ($categories = tep_db_fetch_array($categories_query)) { $categories_array[] = $categories['categories_id']; } foreach ($categories_array as $parent_id) { if ($get_array[$i] == tep_url_rewriting_cast(tep_get_categories_name($parent_id, $lang_id))) { // $parent_id break; } } } if ($i == 1) $cPath = $parent_id; else $cPath .= '_' . $parent_id; } } tep_redirect(HTTP_SERVER . DIR_WS_HTTP_CATALOG . FILENAME_DEFAULT . '?cPath=' . $cPath);?>
Jeanluc Posté 22 Mars 2006 Posté 22 Mars 2006 le problème c'est que lorsque je clique sur ces fameux liens ca me redirige vers:http://www.monsite/monrepertoire/index.php?cPath=12 (par exemple pour la categorie 12) alors que dans le code source ils sont réécris est ce qu'a votre avis le soucis viens du htaccess ou du fichier url_rewriting.php? Bonjour, En tout cas, il n'y a aucune redirection dans le .htaccess, juste de la réécriture d'URL. Jean-Luc
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant