<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/index.php?action=history&amp;feed=atom&amp;title=Apache_mod_rewrite</id>
	<title>Apache mod rewrite - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/index.php?action=history&amp;feed=atom&amp;title=Apache_mod_rewrite"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Apache_mod_rewrite&amp;action=history"/>
	<updated>2026-05-30T06:36:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=Apache_mod_rewrite&amp;diff=44895&amp;oldid=prev</id>
		<title>Zoran.Chanet: Created page with &quot;= Auteur =  CHANET Zoran  = mod_rewrite = Le module Apache de rewriting d’url se nomme mod_rewrite. Il permet d’indiquer simplement des règles de r...&quot;</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Apache_mod_rewrite&amp;diff=44895&amp;oldid=prev"/>
		<updated>2019-02-11T08:23:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Auteur = &lt;a href=&quot;/index.php/User:Zoran.Chanet&quot; title=&quot;User:Zoran.Chanet&quot;&gt; CHANET Zoran&lt;/a&gt;  = mod_rewrite = Le module Apache de rewriting d’url se nomme mod_rewrite. Il permet d’indiquer simplement des règles de r...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Auteur =&lt;br /&gt;
[[User:Zoran.Chanet | CHANET Zoran]]&lt;br /&gt;
&lt;br /&gt;
= mod_rewrite =&lt;br /&gt;
Le module Apache de rewriting d’url se nomme mod_rewrite. Il permet d’indiquer simplement des règles de réécriture, selon l’url demandé par l’utilisateur. Cela se fera dans le fichier [[Apache mod_rewrite#Fichier .htaccess | .htaccess]].&amp;lt;br&amp;gt;&lt;br /&gt;
Pour l’activer, il faut ajouter ces quelques lignes dans le fichier &amp;lt;code&amp;gt;/etc/apache2/apache2.conf&amp;lt;/code&amp;gt; (si elles n’y sont pas déjà) :&lt;br /&gt;
 &amp;lt;ifModule mod_rewrite.c&amp;gt;&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 &amp;lt;/ifModule&amp;gt;&lt;br /&gt;
Il faut alors redémarrer le serveur Apache :&lt;br /&gt;
 sudo /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Diagnostic =&lt;br /&gt;
* Si le module rewrite est présent, un fichier &amp;lt;code&amp;gt;mod_rewrite.so&amp;lt;/code&amp;gt; doit exister. Cela se vérifie par la commande suivante :&lt;br /&gt;
 ls -l /usr/lib/apache2/modules/&lt;br /&gt;
* Cette commande permet de recréer les liens entre Apache et le mod_rewrite :&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
= Fichier .htaccess =&lt;br /&gt;
* Le mode rewriting est d’abord activé avec &amp;lt;code&amp;gt;RewriteEngine on&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;^&amp;#039;&amp;#039; correspond au début d’une expression rationnelle, &amp;#039;&amp;#039;$&amp;#039;&amp;#039; à la fin de celle-ci. Les symboles utilisés sont décrits sur cette page : [https://httpd.apache.org/docs/2.2/fr/rewrite/intro.html#regex].&lt;br /&gt;
* Les drapeaux de réécriture sont décrits ici : [https://httpd.apache.org/docs/2.2/fr/rewrite/flags.html].&lt;br /&gt;
* Les différentes directives utilisables sont recensées dans la documentation : [https://httpd.apache.org/docs/2.2/fr/mod/mod_rewrite.html#Solutions].&lt;br /&gt;
* &amp;lt;code&amp;gt;%{&amp;lt;NOM_DE_VARIABLE}&amp;lt;/code&amp;gt; permet d&amp;#039;accéder aux variables de serveur.&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
Nous allons explorer l&amp;#039;exemple d&amp;#039;une règle de redirection à l&amp;#039;aide des directives RewriteCond et RewriteRule, utilisées comme suit : &lt;br /&gt;
 RewriteCond &amp;lt;chaîne de test&amp;gt; &amp;lt;expression de comparaison&amp;gt;&lt;br /&gt;
 RewriteRule &amp;lt;modèle&amp;gt; &amp;lt;substitution&amp;gt; [&amp;lt;Drapeaux&amp;gt;]&lt;br /&gt;
&amp;#039;&amp;#039;.htaccess :&amp;#039;&amp;#039;&lt;br /&gt;
 RewriteEngine on&lt;br /&gt;
 RewriteCond %{REQUEST_URI} ^/$&lt;br /&gt;
 RewriteRule (.*) /app [R=301,L]&lt;br /&gt;
* On active d’abord le moteur de redirection.&lt;br /&gt;
* Ensuite, on définit une condition d’accès à la règle, &amp;lt;code&amp;gt;%{REQUEST_URI}&amp;lt;/code&amp;gt; indiquant la variable serveur correspondant à l&amp;#039;uri auquel on essaie d&amp;#039;accéder, l’uri spécifié étant &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; (par l&amp;#039;expression rationelle &amp;lt;code&amp;gt;^/$&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Enfin, la règle de réécriture s’applique à tout l’uri (&amp;lt;code&amp;gt;.*&amp;lt;/code&amp;gt;), et le remplace par &amp;lt;code&amp;gt;/app&amp;lt;/code&amp;gt;. Une redirection est alors performée en indiquant un code de retour 301 (&amp;lt;code&amp;gt;R=301&amp;lt;/code&amp;gt;). Cette règle est indiquée comme la dernière à appliquer par le flag &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Si ce fichier &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; est utilisé pour un serveur hébergé à l&amp;#039;adresse &amp;lt;code&amp;gt;monsite.fr&amp;lt;/code&amp;gt;, tout accès à &amp;lt;code&amp;gt;monsite.fr/&amp;lt;/code&amp;gt; sera redirigé vers &amp;lt;code&amp;gt;monsite.fr/app&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
[1] https://httpd.apache.org/docs/2.2/fr/rewrite/intro.html#regex&amp;lt;br&amp;gt;&lt;br /&gt;
[2] https://httpd.apache.org/docs/2.2/fr/rewrite/flags.html&amp;lt;br&amp;gt;&lt;br /&gt;
[3] https://httpd.apache.org/docs/2.2/fr/mod/mod_rewrite.html#Solutions&amp;lt;br&amp;gt;&lt;br /&gt;
[4] https://httpd.apache.org/docs/2.2/fr/rewrite/intro.html&amp;lt;br&amp;gt;&lt;br /&gt;
[5] https://itx-technologies.com/fr/blog/28-installer-et-activer-le-module-mod_rewrite-sur-apache-et-ubuntu&lt;/div&gt;</summary>
		<author><name>Zoran.Chanet</name></author>
	</entry>
</feed>