Vos adresses de vos pages web ou URL ressemblent à :
http://www.notre-site.com/divers/article.php?id=12&page=2&rubrique=
et ce n'est pas l'idéal, tant pour le référencement que pour la mémorisation des adresses de votre site.
CMSMS possède son propre outil d'url rewriting qui transforme les adresses comme ceci :
http://www.notre-site.com/index.php/divers/page.html
Pour l'activer, il vous suffit de télécharger dans le répertoire CMSMS de votre serveur le fichier "config.php" qui a été créé lors de l'installation de CMSMS et de le modifier comme suit :
$config['internal_pretty_urls'] = true;
Si vous désirez conserver la hiérarchie des répertoires :
$config['use_hierarchy'] = true;
dans le cas contraire :
$config['use_hierarchy'] = false;
Transférez le fichier "config.php" modifié sur votre serveur. Videz le cache via la console d'administration : Menu Administration du site → Paramètres Globaux. N'oubliez pas de réattibuer la permission CHMOD 444 à votre fichier "config.php".
* * * *
Si vous désirez obtenir une url comme ici, soit :
http://www.ac-coaching.com/Blog/tutos/url-rewriting.html
Vous devez modifier le fichier config.php + éditer un fichier .htaccess !
Pour le fichier config.php, indiquez :
$config['assume_mod_rewrite'] = true;
$config['page_extension'] = '.html';
$config['internal_pretty_urls'] = false;
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
Avec votre éditeur de texte, créez un fichier nommé ".htaccess" dont le contenu sera le suivant* :
# BEGIN Optional settings
# Turns off directory browsing
# not absolutely essential, but keeps people from snooping around without
# needing empty index.html files everywhere
Options -Indexes
# Deny access to config.php
# This can be useful if php ever breaks or dies
# Use with caution, this may break other functions of CMSms that use a config.php
# file. This may also break other programs you have running under your CMSms
# install that use config.php. You may need to add another .htaccess file to those
# directories to specifically allow config.php.
<Files "config.php">
order allow,deny
deny from all
</Files>
# Sets your 403 error document
# not absolutely essential to have,
# or you may already have error pages defined elsewhere
ErrorDocument 403 /forbidden403.shtml
# No sense advertising what we are running
ServerSignature Off
# END Optional Settings
# BEGIN CMSMS and Rewrite Rules
# Make sure you have Options FollowSymLinks
# and Allow on
RewriteEngine On
RewriteBase /Blog
# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]
#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]
#OR if the URI contains a "<script>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#OR script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^.*$ - [F,L]
# END Filtering
# CMSMS Rewriting
# Set assume mod_rewrite to true in config.php and clear CMSMS cache
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# END CMSMS
# END Rewrite rules
Si CMSMS est placé dans un répertoire sur votre serveur, vous devez modifier la ligne suivante en indiquant le chemin d'accès :
RewriteEngine On
RewriteBase /chemin d'accès (par exemple "/Blog")
Transférez le fichier "config.php" modifié sur votre serveur.
Transférez le fichier ".htaccess" à la racine du répertoire où vous avez placé CMSMS.
Videz le cache via la console d'administration : Menu Administration du site → Paramètres Globaux. N'oubliez pas de réattibuer la permission CHMOD 444 à votre fichier "config.php".
Voilà, vous devriez maintenant avoir de jolies url !
*contenu du fichier .htaccess obtenu sur le site officiel CMSMS (en anglais)
Plus d'infos ? Voir le site officiel
Page précédente: Module Comments Page suivante: Ajout de contenu