[TUTO] mod_rewrite (réécriture d'url) avec wamp (serveur local)

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
En 2010+, il est inconcevable de travailler sans les urls propres.
Dès l'installation, avant même de commencer votre site, vous pouvez activer le mod_rewrite sur votre serveur local : wamp.

Clic gauche sur le tachygraphe (icône dans la systray).
Apache => httpd.conf
Chercher la ligne : #LoadModule rewrite_module modules/mod_rewrite.so (Ctrl+F)
supprimer le dièse (#) va dé-commenter cette ligne et ajouter le module rewrite.
Ctrl+S (sauver le fichier)
Clic gauche sur le tachy
Restart All Services (il est obligatoire de redémarrer les services lorsque vous modifiez le comportement du serveur sinon les modifications ne seront pas prises en compte)
Attendre que la couleur du tachygraphe redevienne verte
Apache => Apache modules
[ATTENTION]
seulement s'il n'est pas coché, sinon passez directement au .htaccess :
Cliquer sur rewrite_module (en bas)
Clic gauche sur le tachy
Restart All Services
[/ATTENTION]

Ajouter le .htacces (à la racine du site)
Code :
Options +FollowSymLinks
RewriteEngine on

#Sub-dir e.g: /cmsms
#RewriteBase /
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Si vous avez un site dans un dossier d'un autre site, dé-commentez le RewriteBase (supprimez le #) et donnez le nom du dossier du site voulu. Ex : si votre site est dans le dossier www/sitePrincipal/monAutreSite :
RewriteBase /monAutreSite

Modifiez votre config.php :
Code :
$config['url_rewriting'] = 'mod_rewrite';
Have fun Smile
Répondre
#1
En 2010+, il est inconcevable de travailler sans les urls propres.
Dès l'installation, avant même de commencer votre site, vous pouvez activer le mod_rewrite sur votre serveur local : wamp.

Clic gauche sur le tachygraphe (icône dans la systray).
Apache => httpd.conf
Chercher la ligne : #LoadModule rewrite_module modules/mod_rewrite.so (Ctrl+F)
supprimer le dièse (#) va dé-commenter cette ligne et ajouter le module rewrite.
Ctrl+S (sauver le fichier)
Clic gauche sur le tachy
Restart All Services (il est obligatoire de redémarrer les services lorsque vous modifiez le comportement du serveur sinon les modifications ne seront pas prises en compte)
Attendre que la couleur du tachygraphe redevienne verte
Apache => Apache modules
[ATTENTION]
seulement s'il n'est pas coché, sinon passez directement au .htaccess :
Cliquer sur rewrite_module (en bas)
Clic gauche sur le tachy
Restart All Services
[/ATTENTION]

Ajouter le .htacces (à la racine du site)
Code :
Options +FollowSymLinks
RewriteEngine on

#Sub-dir e.g: /cmsms
#RewriteBase /
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Si vous avez un site dans un dossier d'un autre site, dé-commentez le RewriteBase (supprimez le #) et donnez le nom du dossier du site voulu. Ex : si votre site est dans le dossier www/sitePrincipal/monAutreSite :
RewriteBase /monAutreSite

Modifiez votre config.php :
Code :
$config['url_rewriting'] = 'mod_rewrite';
Have fun Smile
Répondre
#2
re,

ma version (je reprends les termes de Jean)
- Clic gauche sur le tachygraphe (icône dans la systray). (1)
- Apache puis Modules Apache -> cocher rewrite_module (2 -3 -4)
Clic gauche sur le tachy
Redémarrer les services (5) (il est obligatoire de redémarrer les services lorsque vous modifiez le comportement du serveur sinon les modifications ne seront pas prises en compte)
Attendre que la couleur du tachygraphe redevienne blanche

[Image: 1qRH9.jpg]

Ajouter le .htacces (à la racine du site)
Code :
#Options -Indexes
RewriteEngine On
# RewriteBase /modossier_cms si le .htaccess se trouve à la racine de www
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Modifiez votre config.php :
Code :
$config['url_rewriting'] = 'mod_rewrite';

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.html';

#NOTA1 $config['use_hierarchy'] = true; // a été supprimée en version 1.8.0.et 1.8.1
#NOTA2 $config['use_hierarchy'] = true; // revenu en en version 1.8.2
Pour avoir des URLs du type http://localhost/modossier_cms/mapage.html
NOTA2 ['use_hierarchy'] = true
Permet d'avoir des URls de news (articles)
http://localhost/modossier_cms/news/8/39...liara.html

A vous de jouer
J-C Etiemble v 2.2.xx
Répondre
#2
re,

ma version (je reprends les termes de Jean)
- Clic gauche sur le tachygraphe (icône dans la systray). (1)
- Apache puis Modules Apache -> cocher rewrite_module (2 -3 -4)
Clic gauche sur le tachy
Redémarrer les services (5) (il est obligatoire de redémarrer les services lorsque vous modifiez le comportement du serveur sinon les modifications ne seront pas prises en compte)
Attendre que la couleur du tachygraphe redevienne blanche

[Image: 1qRH9.jpg]

Ajouter le .htacces (à la racine du site)
Code :
#Options -Indexes
RewriteEngine On
# RewriteBase /modossier_cms si le .htaccess se trouve à la racine de www
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Modifiez votre config.php :
Code :
$config['url_rewriting'] = 'mod_rewrite';

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.html';

#NOTA1 $config['use_hierarchy'] = true; // a été supprimée en version 1.8.0.et 1.8.1
#NOTA2 $config['use_hierarchy'] = true; // revenu en en version 1.8.2
Pour avoir des URLs du type http://localhost/modossier_cms/mapage.html
NOTA2 ['use_hierarchy'] = true
Permet d'avoir des URls de news (articles)
http://localhost/modossier_cms/news/8/39...liara.html

A vous de jouer
J-C Etiemble v 2.2.xx
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)