<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Admin'oob.com &#187; Référencement</title>
	<atom:link href="http://www.adminoob.com/tag/referencement/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adminoob.com</link>
	<description>Pour les administrateurs débutants</description>
	<lastBuildDate>Mon, 31 Aug 2009 05:35:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Eviter les conflits d&#8217;URL</title>
		<link>http://www.adminoob.com/2008/08/17/eviter-les-conflits-durl/</link>
		<comments>http://www.adminoob.com/2008/08/17/eviter-les-conflits-durl/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 12:28:39 +0000</pubDate>
		<dc:creator>Jice</dc:creator>
				<category><![CDATA[Scripts utiles]]></category>
		<category><![CDATA[URL et Noms de domaine]]></category>
		<category><![CDATA[header http]]></category>
		<category><![CDATA[Redirection]]></category>
		<category><![CDATA[Référencement]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.adminoob.com/?p=113</guid>
		<description><![CDATA[Dans certaines situations, il peut arriver qu&#8217;une même page (ou un site entier) puisse être accessible de la même manière par deux URL différentes. Pour éviter les soucis d&#8217;indexation (Duplicate Content ou tout simplement mauvaise indexation) la solution la plus simple est une redirection vers l&#8217;adresse préférée. La suite de l&#8217;article propose quelques lignes php [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Dans certaines situations, il peut arriver qu&#8217;une même page (ou un site entier) puisse être accessible de la même manière par deux URL différentes. Pour éviter les soucis d&#8217;indexation (<strong>Duplicate Content</strong> ou tout simplement mauvaise indexation) la solution la plus simple est une redirection vers l&#8217;adresse préférée. La suite de l&#8217;article propose quelques lignes php qui automatiseront la redirection sur toutes les pages d&#8217;un sous domaine.</p>
<p><span id="more-113"></span></p>
<h3>La base des headers http:</h3>
<p style="text-align: justify;">Lors de l&#8217;envoi d&#8217;une page à un navigateur la première chose que fait le serveur est d&#8217;envoyé le <strong>header </strong>de la page. Ce header informe le navigateur sur la réussite ou non de la requête. L&#8217;erreur la plus célèbre que vous connaissez est sûrement l&#8217;<a href="http://www.adminoob.com/tag/erreur-404/">erreur 404</a>. Mais si la page renvoyée est trouvée convenablement, il faut aussi l&#8217;annoncer au navigateur; on envoit dans ce cas un code 200. Voici une <a href="http://outils.yagoort.org/httpheader.html" target="_blank">liste des headers http</a> qui peuvent être renvoyés par une page web.</p>
<p style="text-align: justify;">Lorsqu&#8217;un <strong>robot de moteur de recherche</strong> (aussi appelés <strong>spider</strong> ou <strong>crawler</strong>) il reçoit quasiment les mêmes informations qu&#8217;un navigateur comme Mozilla Firefox ou Internet Explorer. Dans le cas d&#8217;une redirection, il est donc nécessaire d&#8217;avertir les visiteurs (et donc les crawlers) que votre page se situe dorénavant à une autre URL (l&#8217;officielle). Ceci est l&#8217;office l&#8217;<strong>entête 301 : redirection permanente</strong>.</p>
<h3>Le code de la redirection :<br />
</h3>
<p style="text-align: justify;">Prenons l&#8217;exemple du site que j&#8217;héberge sur les serveurs de l&#8217;<a href="http://www.ec-marseille.fr" target="_blank">Ecole Centrale Marseille</a>. Comme de nombreuses universités, l&#8217;école offre un espace web à ses étudiants, et celui-ci est accessible à l&#8217;adresse principale :</p>
<p style="text-align: center;"><em>http://perso.ec-marseille.fr/~nom_eleve</em></p>
<p style="text-align: justify;">On remarquera tout d&#8217;abord le sous domaine &#8216;<em>perso</em>&#8216; qui permet de traiter les pages des élèves par un serveur dédié à cela (le site de l&#8217;école et les autres services comme l&#8217;email se trouvent sur un autre serveur). Chaque étudiant possède un répertoire accessible par <em>~nom_eleve</em>. Ceci est possible grâce au module <em>userdir </em>de <strong>Apache</strong>. Ce module sera étudié dans un autre post.</p>
<p style="text-align: justify;">Dans notre cas, les administrateurs de l&#8217;Ecole ont décidé de simplifier l&#8217;accès à une page en créant des URL rewrite qui pointent vers cette adresse principale. Ces adresses sont de la forme :</p>
<p style="text-align: center;"><em>http://nom_eleve.perso.ec-marseille.fr</em></p>
<p style="text-align: justify;">Le problème à présent, c&#8217;est que les moteurs de recherche peuvent accéder aux pages par ces deux adresses. Comment forcer l&#8217;accès uniquement par l&#8217;adresse principale? Voilà le script utilisé en début de chacune de mes page :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
	<span style="color: #000088;">$cond_uri</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;www.perso.ec-marseille.fr&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$access</span><span style="color: #339933;">=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$access</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$cond_uri</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$new_uri</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://perso.ec-marseille.fr&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Status: 301 Moved Permanently&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">301</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: <span style="color: #006699; font-weight: bold;">$new_uri</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p><br class="spacer_" /></p>
<h3>Explications :</h3>
<p style="text-align: justify;">La variable <em>$cond_uri </em>contient l&#8217;adresse URL que je veux rediriger ailleurs. Pourquoi ne ressemble-t-elle pas simplement à &#8220;perso.ec-marseille.fr&#8221; ? Je n&#8217;ai pas compris, mais pour savoir quelle adresse choisir, il vous suffit de faire une page avec un petit :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
     <span style="color: #b1b100;">echo</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify;"><br class="spacer_" />Rendez-vous alors sur cette page par l&#8217;adresse à rediriger et notez la valeur affichée. C&#8217;est avec elle qu&#8217;il faut remplir la variable <em>$cond_uri.</em></p>
<p>$_SERVER['HTTP_HOST'] : adresse de l&#8217;hôte</p>
<p>$_SERVER['REQUEST_URI'] : page appelée (avec options éventuelles)</p>
<p style="text-align: justify;">La commande header( ) permet d&#8217;envoyer un header particulier au navigateur. Cela renseignera le moteur qu&#8217;il doit dorénavant ne plus considérer que l&#8217;adresse officielle (redirection permanente).</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Remarque importante :</span> la fonction header( ) doit toujours être placé en début de page. Aucune information ne doit être affichée avant. <em>Le script ci-dessus doit donc être placé en début de vos page web.</em></p>
<h3  class="related_post_title">Posts similaires</h3><ul class="related_post"><li>Aucun posts relatifs pour le moment</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.adminoob.com/2008/08/17/eviter-les-conflits-durl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

