Voici l’équivalent du fichier .htaccess de SPIP 3.1.* pour un serveur windows IIS 2008.
Le fichier doit se nommer web.config et être placé à la racine du site, il assure le bon fonctionnement de la réécriture d’url ainsi que la sécurité des dossiers sensibles de SPIP (tmp/ et config/).
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.+)" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
</conditions>
<action type="None" />
</rule>
<!--
URLs "propres", "propres2", "libres", "arbo"
-->
<rule name="rule 1v" stopProcessing="true">
<match url="^[^\.]+(\.html)?$" />
<action type="Rewrite" url="/spip.php" appendQueryString="true" />
</rule>
<!--
Fichiers "standards" (si absents de la racine)
-->
<rule name="rule 1a" stopProcessing="true">
<match url="^robots[.]txt$" />
<action type="Rewrite" url="/spip.php?page=robots.txt" appendQueryString="true" />
</rule>
<rule name="rule 2a" stopProcessing="true">
<match url="^favicon[.]ico$" />
<action type="Rewrite" url="/spip.php?page=favicon.ico" appendQueryString="true" />
</rule>
<rule name="rule 3a" stopProcessing="true">
<match url="^sitemap[.]xml$" />
<action type="Rewrite" url="/spip.php?page=sitemap.xml" appendQueryString="true" />
</rule>
<!--
bloquer les acces aux fichiers caches (.svn, .git, etc)
-->
<rule name="rule 1O">
<match url="/\\..*(/.*|$)" />
<action type="Rewrite" url="/-" />
</rule>
<!--
APIs
http://site/xmlrpc.api
http://site/atom.api/articles/1234
-->
<rule name="rule api" stopProcessing="true">
<match url="^([\w]+)\.api(/(.*))?$" />
<action type="Rewrite" url="/spip.php?action=api_{R:1}&arg={R:3}" appendQueryString="true" />
</rule>
<!--
ping http://site/1234 => article1234
-->
<rule name="rule ping" stopProcessing="true">
<match url="^([1-9][0-9]*)$" />
<action type="Rewrite" url="/spip.php?action=redirect&type=article&status=301&id={R:1}" appendQueryString="true" />
</rule>
<!--
Compatibilite avec les URLS "html" (pour transition sympa)
-->
<rule name="rule 1q" stopProcessing="true">
<match url="^rubrique([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=rubrique&id_rubrique={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 2q" stopProcessing="true">
<match url="^article([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=article&id_article={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 3q" stopProcessing="true">
<match url="^breve([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=breve&id_breve={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 4q" stopProcessing="true">
<match url="^mot([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=mot&id_mot={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 5q" stopProcessing="true">
<match url="^auteur([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=auteur&id_auteur={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 6q" stopProcessing="true">
<match url="^site([0-9]+)(\.html)?$" />
<action type="Rewrite" url="/spip.php?page=site&id_syndic={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 7q" stopProcessing="true">
<match url="^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|sommaire|sommaire_texte)\.php3?$" />
<action type="Rewrite" url="/spip.php?page={R:1}" appendQueryString="true" />
</rule>
<rule name="rule 8q" stopProcessing="true">
<match url="^resume.php[3]?" />
<action type="Rewrite" url="/spip.php?page=sommaire" appendQueryString="true" />
</rule>
<rule name="rule 9q" stopProcessing="true">
<match url="^page.php[3]?" />
<action type="Rewrite" url="/spip.php" appendQueryString="true" />
</rule>
<rule name="rule 10q" stopProcessing="true">
<match url="^spip_cal\.php3?$" />
<action type="Rewrite" url="/spip.php?page=ical_prive" appendQueryString="true" />
</rule>
<rule name="rule 11q" stopProcessing="true">
<match url="^spip_rss\.php3?$" />
<action type="Rewrite" url="/spip.php?page=rss" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
<!--
Pas d'accès aux dossiers sensibles depuis le web
-->
<security>
<requestFiltering>
<hiddenSegments>
<add segment="config"/>
<add segment="tmp"/>
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
Astuce redirection PHP 301 pour IIS
header("Status: 301 Moved Permanently");
header("Location: http://www.example.fr/mapage/");
exit;
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |