prb url rewriting côté PHP

Discussion dans 'URL Rewriting et .htaccess' créé par starmagh, 20 Juillet 2008.

  1. starmagh
    starmagh Nouveau WRInaute
    Inscrit:
    24 Avril 2005
    Messages:
    9
    J'aime reçus:
    0
    Bonjour,
    je rencontre un petit problème avec l'url rewriting, en particulier avec la partie php.
    le php m'étant assez étranger, il m'est difficile de trouver seul la réponse à mon problème ; je remercie donc d'avance celles et ceux qui se pencheront sur les quelques lignes suivantes:

    dans le .htaccess, j'ai ceci:

    Code:
    RewriteEngine On
    RewriteBase /
    Options -MultiViews
    RewriteRule ^annonces/page([0-9]*)\.htm$ index.php?a=2&b=$1 [L]
    RewriteRule ^annonces/categorie([0-9]*)\.htm$ index.php?a=5&b=$1 [L]
    ...
    je veux donc afficher:
    monsite.com/annonces/page15.htm par exemple

    ça marche mais le code PHP m'oblige à afficher ceci:
    monsite.com/index/annonces/page15.htm

    et mon soucis c'est que je ne vois pas où faire la modif pour virer ce répertoire /index/ de l'url rewritée.

    voici ce que j'ai côté PHP:

    Code:
    
    	function formatUrls($string,$entireString)
    	{
    		$string = stripslashes($string);
    		$endUrl = strstr($entireString, ">") ? ">" : "";
    		$string = trim($string,"\"");
    		$string = trim($string,"'");
    		$newUrl = "href=\"";
    		if(!stristr($string,$this->configuration_data->index.php."?"))
    			return $newUrl.$string."\" ".$endUrl;
    		$urlParts = explode(".php?", $string);
    		$urlGetVariables = preg_split("/[&]/", $urlParts[1]);
    		$newUrl .= $urlParts[0];
    		$a=0;
    		for($lcv=0;$lcv<count($urlGetVariables);$lcv++)
    		{
    			$urlGetVariableValues = explode("=", $urlGetVariables[$lcv]);
    			if(!$urlGetVariableValues[1])
    				$urlGetVariableValues[1] = "0";
    				
    			switch($urlGetVariableValues[0])
    			{
    				case "a";
    					$a = $urlGetVariableValues[1];
    					switch($urlGetVariableValues[1])
    					{
    						case 2:
    							$newUrl .= "/annonces";
    						break;
    						case 5:
    							$newUrl .= "/annonces";
    						break;
    						case 6:
    							$newUrl .= "/annonces"; 
    						break;
    						case 8:
    							$newUrl .= "/details";
    						break;
    						case 11:
    							$newUrl .= "/annonces";
    						break;
    						case 14:
    							$newUrl .= "/imprimer";
    						break;
    						case 15:
    							$newUrl .= "/images";
    						break;
    						default:
    							return "href=\"".$string."\" ".$endUrl;
    						break;
    					}
    				break;
    				case "b":
    					switch($a)
    					{
    						case 2:
    							$newUrl .= "/page".$urlGetVariableValues[1];
    						break;
    						case 5:
    							$newUrl .= "/categorie".$urlGetVariableValues[1];
    						break;
    						case 6:
    							$newUrl .= "/vendeur".$urlGetVariableValues[1];
    						break;
    						case 8:
    							$newUrl .= "/categorie".$urlGetVariableValues[1];
    						break;
    						case 11:
    							$newUrl .= "/categorie".$urlGetVariableValues[1];
    						break;
    						case 14:
    							$newUrl .= "/annonce".$urlGetVariableValues[1];
    						break;
    						case 15:
    							$newUrl .= "/annonce".$urlGetVariableValues[1];
    						break;
    					}
    				break;
    				case "c":
    					switch($a)
    					{
    							case 1:
    									$newUrl .= "/1-semaine";
    								break;
    								case 2:
    									$newUrl .= "/2semaines";
    								break;
    								case 3:
    									$newUrl .= "/3semaines";
    								break;
    								case 4:
    									$newUrl .= "/1jour";
    								break;
    						
    					}
    				break;
    				case "page":
    					$newUrl .= "/page".$urlGetVariableValues[1];
    				break;
    				default:
    					return "href=\"".$string."\" ".$endUrl;
    				break;
    			}
    		}
    		return $newUrl.".htm\" ".$endUrl;
    	}
    
    Quelqu'un aurait-il une idée ?
    Encore merci d'avance
    :(
     
  2. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Salut, pourquoi tu n'apprendrais pas le php et ferais toi même la fonction ? Parce que la j'ai l'impression qu'elle fait plein de trucs inutiles pour l'utilisation que tu veux en faire.

    Que veux-tu donner en paramètres à la fonction et que veux-tu qu'elle te renvoie ?
     
  3. starmagh
    starmagh Nouveau WRInaute
    Inscrit:
    24 Avril 2005
    Messages:
    9
    J'aime reçus:
    0
    salut Yoyos, et merci pour ta réponse.
    je souhaite simplement que la fonction php s'occupe à ma place de réécrire les liens dans mes pages, ceci pour m'éviter d'avoir à éditer x pages...

    ça marche déjà avec cette fonction, mais j'ai pour résultat:

    monsite.com/index/annonces/page10.htm

    et je voudrais

    monsite.com/annonces/page10.htm

    je ne vois pas où ce code stipule qu'il faille conserver ce repertoire /index/dans l'url.
    par ailleurs cette fonction fait pas mal d'autres choses parce qu'elle réécrit d'autres pages (les case a, b et c) mais si j'ai la soluce pour une page je l'ai forcément pour les autres.

    le peu que je connais du php ne me permet pas de trouver la solution...
    et ce n'est pas faute d'essayer de comprendre ce langage...
     
  4. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Et oui j'ai posé une question précise -_- Je comprends pas ce que tu lui donnes et ce que tu veux obtenir, alors montre moi par un exemple, comme ça je refais le processus en lisant la fonction et essaie de faire attention quand on te pose des questions sinon on avancera pas. :roll:

    Bon pour résumé, de peur que t'oublie, donne les deux paramètres et le résultat :mrgreen:
     
  5. starmagh
    starmagh Nouveau WRInaute
    Inscrit:
    24 Avril 2005
    Messages:
    9
    J'aime reçus:
    0
    Appelle-moi con j'te dirai rien
    Voilà 3 ans que je suis inscrit sur ce forum, j'ai pu constater une réelle dégradation dans l'accueil des demandes d'aide...
    Dès qu'on a le malheur de pas savoir, mieux vaut s'abstenir de demander conseil car à coup sûr on se fera prendre pour un abruti...
    ma question était simple et pour réponse j'ai droit à des va-apprendre-le-php, apprends-à-lire, etc.
    pitoyable et pathétique.
    je me démerderai tout seul tiens.
     
  6. olivier3249
    olivier3249 WRInaute passionné
    Inscrit:
    22 Octobre 2007
    Messages:
    1 081
    J'aime reçus:
    0
    Bon au revoir alors et à l'année prochain pour ton 14 ème message! ;)
     
  7. starmagh
    starmagh Nouveau WRInaute
    Inscrit:
    24 Avril 2005
    Messages:
    9
    J'aime reçus:
    0
    On se connaît ? Quand j'aurais besoin de toi je viendrai poster sur ce qui te sert de blog !
     
  8. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Désolé d'avoir voulu t'aider, bonne nuit.

    NB: Qu'est-ce que ça doit être quand il y a une réelle raison de piquer sa crise 8O
     
  9. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    starmag,

    je parie que le .htaccess est dans le répertoire /index/, d'ou la présence de RewriteBase /, qui enlève /index/ des URL et le rajoute après réécriture.

    Sinon, je ne vois pas pourquoi tu t'énerve, Yoyos a pose une question pour comprendre le problème. J'aurais posé la même question d'ailleurs!
     
Chargement...
Similar Threads - prb rewriting côté Forum Date
Prb de Redirection ou rewriting / espace dans url URL Rewriting et .htaccess 1 Novembre 2006
Prb url rewriting et redirection permanente URL Rewriting et .htaccess 24 Août 2005
WordPress permalink produit préfixe url prb Débuter en référencement 10 Mai 2020
Prb avec le fichier robots.txt bloqué alors que tout semble ok Crawl et indexation Google, sitemaps 19 Octobre 2012
prblm google analytics Google Analytics 2 Mars 2011
Racine du site deux index html et php prb référencement ? Problèmes de référencement spécifiques à vos sites 22 Juillet 2009
prbleme ref Débuter en référencement 7 Janvier 2009
prb url rewritting URL Rewriting et .htaccess 25 Novembre 2008
prb avec mon site Problèmes de référencement spécifiques à vos sites 15 Septembre 2008
Prbleme avec les caracteres speciaux URL Rewriting et .htaccess 21 Décembre 2007
Prb d'affichage des couleurs sous firefox [RESOLU] Développement d'un site Web ou d'une appli mobile 8 Août 2007
Prbl javascript : onchange vers onclick Développement d'un site Web ou d'une appli mobile 30 Juin 2007
Prb htaccess URL Rewriting et .htaccess 28 Juin 2007
Prb zonecheck : Impossible de résoudre le 'loopback' Administration d'un site Web 5 Septembre 2006
prb avec le refferer a partir d'une redirection Netlinking, backlinks, liens et redirections 19 Mars 2006
Prb: apache-ssl ne gere pas le php Administration d'un site Web 17 Janvier 2006
prb connexion reseau VPN distant Débuter en référencement 18 Octobre 2005
Prbl: Importation gros fichiers ds phpmyadmin Administration d'un site Web 16 Février 2004
Prb de référencement et de page d'accueil Problèmes de référencement spécifiques à vos sites 5 Septembre 2003
Prb Apache 2.0.45 et mod_rewrite URL Rewriting et .htaccess 12 Mai 2003