RealURL: speaking paths for TYPO3 (realurl)

RealURL: speaking paths for TYPO3

Auteur: Dmitry Dulepov

Clé: realurl

Catégorie: FE

Version: 1.9.0

Télécharger

Introduction

La réecriture d'URL permet de réecrire les URL de votre site et les transformés en des URL plus claires est comprehensibles. Une URL "formatée" sera beaucoup plus facile à retenir qu'une URL classique de TYPO3. Il est également plus intéressant de produire des liens masqués en HTML plutôt que des liens composés pour améliorer la qualité de votre référencement. En effet, certains robots sont incapables d'interpréter les liens composés.

Enfin, la raison la plus flagrante de la mise en place d'un tel système est la sécurité. Lorsque vous utilisez des liens composés, on voit apparaître des valeurs et surtout des noms de variable.

Vérification côté serveur

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éficier de tous les avantages d'un hébergement professionnel.

Configuration TS de realurl

Créer une gabarit TypoScript et saisir la configuration suivante dans la partir SETUP :
// Disable static document simulation
config.simulateStaticDocuments = 0

// Prefix anchors
config.prefixLocalAnchors = all

// baseURL
config.baseURL = www.monsite.com
[hostname = www.monsite.com]
config.baseURL = www.monsite.com
[global]

// Enable RealURL
config.tx_realurl_enable = 1

Configuration de fichier realurl_conf.php

Je met à la disponibilité de tous le monde un exemple du fichier de configuration de RealURL, je me suis inspirer à partir du blog de Yohann CERDAN, je le remerci par cette occasion. Le fichier est à télécharger par ici.
Les paramètres à configurer sont les suivants :

  • $defaultRootPageId = 1 : Permet de spécifier l'ID de la page racine du site.
  • $TYPO3_CONF_VARS['FE']['pageNotFound_404'] = '/page-404.html' : Permet de spécifier la page d'erreur 404.
  • postVarSet_failureMode : Cette option est relative à la redirection en cas d'erreur 404, c'est à laisser vide.
  • defaultToHTMLsuffixOnPrev : Permet de spécifier si l'extension '.html' sera ajoutée automatiquement à l'URL ou bien le titre de la page sans extension.
  • spaceCharacter : Permet de spécifier le caractère à utiliser pour remplacer le caractère espace.

Installation de l'extension Realurl

TYPO3 permet la réecriture de ses propres urls grâce à l'extension RealURL. Aprés installation de l'extension, il faut configurer les variables TsConfig reliées à cette extension, le paramétrage à faire est le suivant :

  • Path to configuration file : la configuration de RealURL est appelée depuis le fichier localconf.php de TYPO3. Il faut spécifier le nom du fichier de configuration de RealURL, ce fichier contient les régles de réecriture des URLs (même ceux des extensions). Valeur par défaut : typo3conf/realurl_conf.php
  • Enable automatic configuration : Permet d'activer la configuration automatique de RealURL et enregistrer le fichier dans typo3conf/, dans notre cas, cette option à ne pas cocher, il vaux mieux faire une configuration personnalisée.
  • Automatic configuration file format : Cette option est relative à la configuration automatique, ça nous concerne pas, donc c'est à laisser à la valeur par défaut "serialized".
  • Enable devLog : Permet d'activer le debuggage du script, à ne pas cocher.
  • Store URL for cHash cache  : Cette option est relative au debuggage, à ne pas cocher de même.

Configuration htaccess

Accéder à la racine du site via l'extension Quixplorer ou bien via un client FTP et modifier le fichier _.htaccess comme suit :
RewriteEngine On
RewriteRule ^/typo3$ - [L]
RewriteRule ^/typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php

Puis il faut renommer le fichier en ".htaccess" pour que TYPO3 le prend en concédération dans la réecriture des URLs.

Nettoyage manuel des urls stockées

Accéder à la base de donnée via l'etension phpMyAdmin ou bien via l'interface fournie par l'hébergeur et exécuter les requêtes SQL suivants :
TRUNCATE `tx_realurl_chashcache`;
TRUNCATE `tx_realurl_pathcache`;
TRUNCATE `tx_realurl_uniqalias`;
TRUNCATE `tx_realurl_urldecodecache`;
TRUNCATE `tx_realurl_urlencodecache`;
UPDATE `pages` SET `tx_realurl_pathsegment` = '';

Configuation du domaine

Cliquer sur la page racine du site en mode "List" au niveau Back-end, puis créer un ou plusieurs enregistrements de type domaine selon les besoins.