Détecter ses urls de destination

  • Auteur de la discussion Auteur de la discussion rizinzin
  • Date de début Date de début
Nouveau WRInaute
Bonjour!

Afin d'améliorer mes internes existe t-il un moyen de récuperer en php les url de destination d'un lien.

Par exemple si j'ai un lien sur une page a qui pointe vers une page b
et que je veut mettre l'ancre du lien présent sur la page a construit comme le title de la page b vers la quelle il pointe,
existe t-il une variable permettant de faire ceci?

Merci pour vos lumières

J'oubliais de préciser mais je cherche juste à détecter l'url vers laquelle le lien pointe puisque le title est déjà généré et donc récupérable via $title

Donc je cherche à faire quelquechose du style:

Code:
<a href="page-b.php">$détection-de-l'url-page-b.php {echo"title page-b.php"}</a>
 
Nouveau WRInaute
j'ai testé plein de chose mais étrangement j'obtiens un espace !
Avez vous une idée d'ou cela peut provenir ?
 
Nouveau WRInaute
Ha mais zut je me rend compte que j'ai fait pas mal de modifs entre temps, ce qui rend la chose particulièrement complexe.

En fait le script génère les titres de page lui-même mais comme ceci me plait guère, j'ai du faire de la sorte:

Là ou j'avais "<{$meta_title}>" par le script j'ai modifié en mettant "<{include file="metatitre.php"}>" dans lequel je crée mes titres comme cela :

Code:
<?php
$string = $_SERVER["REQUEST_URI"];
if (eregi("/baseball-c-1.html", $string))
{
echo "<title>cat 1 page 1</title>";
}
if (eregi("/tennis-c-2.html", $string))
{
echo "<title>cat 2 page 1</title>";
}
?>

Ensuite le script génère une pagination mais la balise "alt" est donc toujours identique:

Code:
<{$nav}>
<{if isset($pages)}>
			Page: <{foreach item=page from=$pages}>
			<{if $page.current == 1}>
				<{$page.number}>
			<{else}>
				<a href="<{$page.url}>" title="texte de alt"><{$page.number}></a>&nbsp;
			<{/if}>
		<{/foreach}>	
<{/if}>

c'est donc ici que je renvoie vers le bout de code en remplacant le texte de la balise "alt" par "<{include file="pagination-alt.php"}>" dans le quel est donc codé:



Code:
	<?php
$fp = @fopen($url, 'r');
$head = @fread($fp, 1024);
@fclose($fp);
$titre = preg_match( "/<title>([^<]*)<\/title>/si", $head, $match ) ? $match[1] : '';
?>

Ou a l'intérieur $url est déjà le premier qui me pose problème car ici je ne peut mettre une url car il doit détecter la page de destination du lien afin de récupérer le titre de la page vers laquelle il pointe

Ensuite $title change lui aussi car il est maintenant généré par "<{include file="metatitre.php"}>" et ne voie pas comment on pourrais l'appeler?

Voilà je fait plein de test mais ce n'est pas très évident quand l'on débute depuis peu.

Merci de m'avoir lu et de votre temps.
 
WRInaute passionné
le code que j'ai donné c'est pour récupérer le titre d'une page qui ne se trouve pas sur ton site. Sinon c'est pas la meilleure solution!
Si tu veux gérer le titre de tes pages je vois deux solutions : stocker le titre dans une base de donnée pour chaque non de page. Sinon tu peux faire un tableau :
Code:
$titre_uri['/baseball-c-1.html'] = 'cat 1 page 1';
$titre_uri['/tennis-c-2.html'] = 'cat 2 page 1';
pour afficher le titre de la page en cours :
Code:
echo '<title>' . $titre_uri[$_SERVER['REQUEST_URI']] . '</title>';
sinon pour le titre d'une autre page :
Code:
echo $titre_uri['/tennis-c-2.html'];
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut