This page in: UNIQ74de47946f55848-pagenamepluslang-00000000-QINU - UNIQ74de47946f55848-pagenamepluslang-00000001-QINU - UNIQ74de47946f55848-pagenamepluslang-00000002-QINU - UNIQ74de47946f55848-pagenamepluslang-00000003-QINU - UNIQ74de47946f55848-pagenamepluslang-00000004-QINU - UNIQ74de47946f55848-pagenamepluslang-00000005-QINU - UNIQ74de47946f55848-pagenamepluslang-00000006-QINU - UNIQ74de47946f55848-pagenamepluslang-00000007-QINU - UNIQ74de47946f55848-pagenamepluslang-00000008-QINU - UNIQ74de47946f55848-pagenamepluslang-00000009-QINU - UNIQ74de47946f55848-pagenamepluslang-0000000A-QINU - UNIQ74de47946f55848-pagenamepluslang-0000000B-QINU - UNIQ74de47946f55848-pagenamepluslang-0000000C-QINU - UNIQ74de47946f55848-pagenamepluslang-0000000D-QINU UNIQ74de47946f55848-pagenamepluslang-0000000E-QINU
Table of Contents
- Bienvenue dans le Wiki
- Documentation en français
- Par où commencer
- Le panneau d'administration
- Tutoriel Création d'un module
- Trucs et astuces
- Glossaire CMSMS
- Guide du développeur
- Module Tutorial
- Création de modules
- Glossaire Wiki
Contents |
Foire Aux Questions
Choisissez l'item qui vous intéresse :
URL élégantes
Voici une méthode pour avoir des URLs plus élégante avec CMS Made Simple. Nous allons utiliser une technique appelé "ré-écriture d'urls" (URL Rewriting en Anglais) qui permet d'avoir des adresses de type
http://monsite.fr/ma_page.html
plutôt que :
http://monsite.fr/index.php?page=ma_page
Etape 0 - Terminer l'installation
Si vous lisez ceci, vous avez oublié l'activation de la ré-écriture d'URL lors de l'étape de configuration des paramètres facultatifs de la procédure d'installation.
Etape 1 - Fichier .htaccess
Le fichier .htaccess est nécessaire à la mise en place de la réécriture d'URLs. Pour le créer ou modifier le fichier .htaccess existant, vous pouvez vous inspirer du texte suivant. Certaines configurations de serveur vous obligent à ajouter 'RewriteBase /' après la commande 'RewriteEngine on'. Si votre installation de CMS Made Simple est dans un sous-répertoire, vous devrez remplacer RewriteBase / par RewriteBase /cms/ (où "cms" est le nom du sous-répertoire). Assurez-vous aussi de vérifier vos paramètres FTP pour transférer le fichier de codage: ASCII. (Pour ceux qui utilisent Dreamweaver, vous devez utiliser un autre logiciel FTP.)
Pas d'extension de fichier
La configuration suivante permet d'avoir des URLs sans extension de fichier. L'exemple :
http://monsite.fr/index.php?page=ma_page
deviendra :
http://monsite.fr/ma_page
Si l'option use_hierarchy est activée, les pages imbriquées (page de niveau différent de 0) auront une adresse du style :
http://monsite.fr/ma_section/ma_page
ATTTENTION Pour CMSms 1.10.x
Lire le le fichier CMSMS_config_reference.pdf du dossir /doc du CMS
Pour CMSms 1.9.x
http://forum.cmsmadesimple.org/index.php/topic,50005.msg238739.html#msg238739
Voici le code à mettre dans votre fichier .htaccess :
Options +FollowSymLinks RewriteEngine on RewriteBase /
# Redirection 301 de toutes les demandes qui ne contiennent # pas un point ou un slash RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] # Régles de réécriture pour la forme /parent/enfant/ # mais réécrit seulement si l'URL demandée n'est pas un fichier ou un répertoire RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Page avec l'extension.html
La configuration suivante permet d'avoir des URLs avec l'extension ".html". L'exemple :
http://monsite.fr/index.php?page=ma_page
deviendra :
http://monsite.fr/ma_page.html
Si l'option use_hierarchy est activée, les pages imbriquées (page de niveau différent de 0) auront une adresse du style :
http://monsite.fr/ma_section/ma_page.html
Voici le code à mettre dans votre fichier .htaccess :
Options +FollowSymLinks RewriteEngine on RewriteBase /
# Redirection 301 de toutes les demandes qui ne contiennent # pas un point ou un slash RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] # Régles de réécriture pour la forme /parent/enfant/ # mais réécrit seulement si l'URL demandée n'est pas un fichier ou un répertoire RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+).htm$ index.php?page=$1 [QSA]
Enregistrer le fichier (par exemple sous le nom : htaccess.txt) et le transférer à la racine de votre site ou dans le répertoire adéquat de CMS Lade Simple (en mode ASCII), ensuite renommer le fichier en ".htaccess" (attention le nom de fichier commence par un point !).
Note: si vous utilisez le module de "News" et que vous souhaitez publier un fil RSS vous aurez le problème suivant si vous utilisez une extension.
En principe, votre flux est disponible à l'adresse :
http://monsite.fr/News/rss
mais avec l'option "mod_rewrite" activé, le serveur ne trouve plus votre flux RSS parce que :
http://monsite.fr/News/rss
n'est pas réécrit en :
http://monsite.fr/index.php?page=News/rss.
Vous pouvez résoudre le problème de deux façons :
- ajouter une règle juste avant la première règle de ré-écriture :
RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [S=1]
Cela réécrit seulement les flux RSS de la manière dont vous avez besoin. Vous pouvez ajouter des extensions comme .XML ou .RSS
- utiliser une règle de réécriture plus large :
RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]
Maintenant, toutes les pages avec ou sans extension .html fonctionnent.
Etape 2 - Editer le fichier config.php
Maintenant, effectuez les modifications suivantes dans la partie "URL Settings" de votre fichier config.php.
(Note: Si vous avez déjà suivi les instructions d'installation pour mettre le fichier "config.php en lecture seule" il faudra modifier temporairement les droits des fichier en 666 ou 777; dans le cas contraire, la mise à jour du fichier config.php sera impossible.)
#------------ #URL Settings #------------ #Show mod_rewrite URLs in the menu? You must enable 'use_hierarchy' for this to work for modules $config['assume_mod_rewrite'] = true; #Extension to use if you're using mod_rewrite for pretty URLs. $config['page_extension'] = '/'; #If you don't use mod_rewrite, then would you like to use the built-in #pretty url mechanism? This will not work with IIS and the {metadata} tag #should be in all of your templates before enabling. $config['internal_pretty_urls'] = true; #If you're using the internal pretty url mechanism or mod_rewrite, would you like to #show urls in their hierarchy? (ex. http://www.mysite.com/parent/parent/childpage) $config['use_hierarchy'] = true; #If using none of the above options, what should we be using for the query string #variable? (ex. http://www.mysite.com/index.php?page=somecontent) $config['query_var'] = 'page';
Pour utiliser l'extension .html, remplacer '/' par '.html' dans la ligne $config['page_extension'] = '/';.
Etape 3 - Utilisation du code {metadata}
Ajouter le code {metadata} entre les balises <head> et </head> de votre template insèrera automatiquement la balise donnant la racine de votre site, afin que les chemins relatifs aux fichiers et aux images fonctionnent comme prévu.
L'option use_hierarchy (voir à l'étape 2) est activable dans ce fichier de configuration (config.php).
Elle permet d'avoir des URLs spécifiques pour les pages imbriqués, par exemple :
http://monsite.fr/parent/enfant/
en opposition à :
http://monsite.fr/enfant
Ne vous inquiétez pas des changements d'URL que ces deux types de modifications permettent à CMS Made Simple de continuer à fonctionner.
Configuration de LightTPD
Pour utiliser LightTPD au lieu d'Apache, les paramètres de configurations suivant devraient fonctionner.
Editer le fichier de configuration "lighttpd.conf" avec le texte suivant :
url.rewrite-final = ( "^/(admin)/(.*)$" => "/$1/$2", "^/([^.?]*)$" => "/index.php?page=$1" )
En option : la configuration LightTPD fonctionne avec ou sans barres obliques (ex. /admin fonctionne), supporte /alias, /alias/, et /alias.htm pour accéder à la page
url.rewrite-final = ( "^/(admin.*)$" => "/$1", "^/(uploads.*)$" => "/$1", "^/([^.?]*)(\.htm)$" => "/index.php?page=$1", "^/([^.?]*)$" => "/index.php?page=$1" )
This page in:
English -
Deutsch -
Español -
Français -
Italiano -
Lietuvių -
Nederlands -
Norsk -
Polski -
Česky -
Русский -
Svenska -
Tiếng Việt -
عربي -
日本語
简体中文