You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
7.3 KiB
211 lines
7.3 KiB
##############################################################
|
|
# Fichier .htaccess SPIP v 3.2 #
|
|
# #
|
|
# Permet de controler les URLs et la version de php utilisee #
|
|
# Compatible avec les URLs 'html', 'propres' et 'propres2' #
|
|
# Permet aussi d'effectuer la transition de .PHP 3 vers .PHP #
|
|
# #
|
|
# Pour utiliser ce fichier renommez-le '.htaccess' dans le #
|
|
# repertoire racine du site, en veillant a ne pas ecraser un #
|
|
# .htaccess personnalise qui s'y trouverait deja #
|
|
# #
|
|
# Attention certains hebergeurs desactivent tout ou partie #
|
|
# des fonctions du fichier .htaccess ; celui-ci est donc #
|
|
# indicatif - en cas de difficulte voir sur les forums SPIP #
|
|
##############################################################
|
|
|
|
Options +FollowSymlinks
|
|
#RewriteLog "rewrite.log"
|
|
#RewriteLogLevel 3
|
|
|
|
RewriteEngine On
|
|
|
|
################ CONFIGURATION ######################
|
|
|
|
### Configuration sous-repertoire
|
|
|
|
# Calcule automatiquememt le RewriteBase (qui permet de faire fonctionner
|
|
# les belles URLs). De la sorte, un meme site peut etre affiche en racine
|
|
# ou dans un sous repertoire sans devoir modifier la ligne RewriteBase.
|
|
#RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
|
|
#RewriteRule ^(.*) - [E=BASE:%1]
|
|
|
|
# En alternative aux 2 lignes precedentes (a commenter dans ce cas),
|
|
# vous pouvez indiquer un RewriteBase specifique
|
|
RewriteBase /
|
|
|
|
|
|
# SPIP version 'php' - si vous avez d'anciennes adresses en '.php[3]',
|
|
# supprimez le '#' sur les lignes qui suivent pour rediriger les acces
|
|
# errones vers le .php correspondant
|
|
|
|
#RewriteCond %{REQUEST_FILENAME} -f
|
|
#RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]
|
|
|
|
# Fin version
|
|
###
|
|
|
|
|
|
################ REGLAGES PERSONNALISES ######################
|
|
# Inscrivez ci-dessous vos reglages supplementaires
|
|
|
|
# bloquer les acces aux repertoires .svn/ (SPIP, plugins, squelettes...)
|
|
RewriteRule ^(.*/)?\.svn/ - [F]
|
|
|
|
# Permettre les mises en cache CORS
|
|
Header set Access-Control-Allow-Origin "*"
|
|
|
|
RewriteCond %{REQUEST_URI} offline\.api\.(.+)$
|
|
RewriteCond local/offline/%1 -f
|
|
RewriteRule ^offline\.api\.(.+)$ local/offline/$1 [QSA,L,skip=100]
|
|
|
|
################ GESTIONS DES URLS SPIP #######################
|
|
|
|
# redirections des anciennes url en erreur 404
|
|
RedirectPermanent /spikini/ https://contrib.spip.net/Carnet-SPIP
|
|
|
|
# Redirection *.spip.org
|
|
RewriteCond %{HTTP_HOST} stats.spip.org
|
|
RewriteRule ^.*$ https://stats.spip.net/$0 [QSA,L,R=301,skip=100]
|
|
|
|
RewriteCond %{HTTP_HOST} files.spip.org
|
|
RewriteRule ^spip/archives/SPIP-3.1-RC.zip$ https://files.spip.net/spip/archives/SPIP-vtrois.1.0-rc.zip
|
|
|
|
# Redirection files.spip.net
|
|
RewriteCond %{HTTP_HOST} files.spip.org
|
|
RewriteRule ^spip-zone/$ https://plugins.spip.net/spip.php?page=telechargements
|
|
# sommaire
|
|
RewriteCond %{HTTP_HOST} files.spip.net
|
|
RewriteRule ^spip-zone/$ https://plugins.spip.net/spip.php?page=telechargements
|
|
|
|
# les repertoires, remappes
|
|
RewriteCond %{HTTP_HOST} files.spip.net
|
|
RewriteRule ^$ spip.php?page=paquets&dir=/ [QSA,E=url_propre:'',skip=100]
|
|
RewriteCond %{HTTP_HOST} files.spip.net
|
|
#RewriteCond /home/spipcont/www/paquets/%{REQUEST_URI} -d
|
|
RewriteRule ^(.+/)$ spip.php?page=paquets&dir=$1 [QSA,E=url_propre:'',skip=100]
|
|
RewriteCond %{HTTP_HOST} files.spip.org
|
|
RewriteRule ^$ spip.php?page=paquets&dir=/ [QSA,E=url_propre:'',skip=100]
|
|
RewriteCond %{HTTP_HOST} files.spip.org
|
|
#RewriteCond /home/spipcont/www/paquets/%{REQUEST_URI} -d
|
|
RewriteRule ^(.+/)$ spip.php?page=paquets&dir=$1 [QSA,E=url_propre:'',skip=100]
|
|
|
|
# Redirection stats.spip.net
|
|
RewriteCond %{HTTP_HOST} stats.spip.net
|
|
RewriteRule ^$ spip.php?page=stats [QSA,skip=100]
|
|
|
|
# Deux pseudo-actions a present evacuees
|
|
# N'y at-il pas moyen de REMPLACER un nom dans la QueryString ?
|
|
RewriteCond %{QUERY_STRING} action=rss
|
|
RewriteRule spip.php spip.php?page=rss [QSA,L]
|
|
RewriteCond %{QUERY_STRING} action=ical
|
|
RewriteRule spip.php spip.php?page=ical_prive [QSA,L]
|
|
|
|
###
|
|
# Si le fichier ou repertoire demande existe
|
|
# ignorer toutes les regles qui suivent
|
|
RewriteCond %{REQUEST_FILENAME} -f
|
|
RewriteRule "." - [skip=100]
|
|
RewriteCond %{REQUEST_FILENAME} -d
|
|
RewriteRule "." - [skip=100]
|
|
#
|
|
###
|
|
|
|
|
|
###
|
|
# Compatibilite avec les URLS "html" (pour transition sympa)
|
|
# voir fichier ecrire/urls/html.php
|
|
RewriteRule ^rubrique([0-9]+)(\.html)?$ spip.php?page=rubrique&id_rubrique=$1 [QSA,L]
|
|
RewriteRule ^article([0-9]+)(\.html)?$ spip.php?page=article&id_article=$1 [QSA,L]
|
|
RewriteRule ^breve([0-9]+)(\.html)?$ spip.php?page=breve&id_breve=$1 [QSA,L]
|
|
RewriteRule ^mot([0-9]+)(\.html)?$ spip.php?page=mot&id_mot=$1 [QSA,L]
|
|
RewriteRule ^auteur([0-9]+)(\.html)?$ spip.php?page=auteur&id_auteur=$1 [QSA,L]
|
|
RewriteRule ^site([0-9]+)(\.html)?$ spip.php?page=site&id_syndic=$1 [QSA,L]
|
|
# Compatibilite avec les anciennes URLS appelant directement des fichiers php
|
|
RewriteRule ^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|sommaire|sommaire_texte)\.php3?$ spip.php?page=$1 [QSA,L]
|
|
RewriteRule ^resume.php[3]? spip.php?page=sommaire [QSA,L]
|
|
RewriteRule ^page.php[3]? spip.php [QSA,L]
|
|
RewriteRule ^spip_cal\.php3?$ spip.php?page=ical_prive [QSA,L]
|
|
RewriteRule ^spip_rss\.php3?$ spip.php?page=rss [QSA,L]
|
|
|
|
|
|
# Fin compatibilite
|
|
###
|
|
|
|
###
|
|
# ping http://site/1234 => article1234
|
|
|
|
RewriteRule ^([1-9][0-9]*)$ spip.php?action=redirect&type=article&status=301&id=$1 [QSA,L]
|
|
|
|
#
|
|
###
|
|
|
|
###
|
|
# APIs
|
|
# http://site/xmlrpc.api
|
|
# http://site/atom.api/articles/1234
|
|
|
|
RewriteRule ^([\w]+)\.api([/.](.*))?$ spip.php?action=api_$1&arg=$3 [QSA,L]
|
|
|
|
# Fin des APIs
|
|
###
|
|
|
|
###
|
|
# URLs "propres", "propres2", "libres", "arbo"
|
|
|
|
RewriteRule ^[^\.]+(\.html)?$ spip.php [QSA,E=url_propre:$0,L]
|
|
|
|
# Fin URLs "propres" et "propres2"
|
|
###
|
|
|
|
###
|
|
# Divers
|
|
|
|
# bloquer les acces aux fichiers caches (.svn, .git, etc)
|
|
RewriteRule /\\..*(/.*|$) - [F]
|
|
|
|
###
|
|
# Fichiers "standards" (si absents de la racine)
|
|
#
|
|
RewriteRule ^robots[.]txt$ spip.php?page=robots.txt [QSA,L]
|
|
RewriteRule ^favicon[.]ico$ spip.php?page=favicon.ico [QSA,L]
|
|
RewriteRule ^sitemap[.]xml$ spip.php?page=sitemap.xml [QSA,L]
|
|
##
|
|
|
|
# Favicon pour itrucs
|
|
# Si vous avez le plugin filtres_images et qu'une méthode de retouche a été configurée, vous pouvez décommenter la ligne ci-dessous.
|
|
#RewriteRule ^apple-touch-icon(-(\d+x\d+))?(-precomposed)?[.]png$ spip.php?page=apple-touch-icon.png&size=$2 [QSA,L]
|
|
|
|
# expirer les images (pour contourner gros bug MSIE sur le cache)
|
|
# note : a decommenter si vous voulez tester
|
|
#<IfModule mod_expires.c>
|
|
# ExpiresActive on
|
|
# ExpiresByType image/gif A3600
|
|
# ExpiresByType image/jpeg A3600
|
|
# ExpiresByType image/png A3600
|
|
#</IfModule>
|
|
|
|
RewriteRule ^Widgets-Editer-directement-sur-le Les-Crayons [r]
|
|
|
|
<IfModule mod_expires.c>
|
|
# Expiration des pages :
|
|
ExpiresActive On
|
|
ExpiresByType image/gif A86400
|
|
ExpiresByType image/png A86400
|
|
ExpiresByType image/jpeg A86400
|
|
ExpiresByType application/x-javascript A86400
|
|
ExpiresByType text/css A86400
|
|
ExpiresByType application/xml A600
|
|
#ExpiresByType text/html A14400
|
|
#ExpiresByType application/x-httpd-php A14400
|
|
</IfModule>
|
|
|
|
#################################
|
|
# gestion des erreurs 404
|
|
# voir http://www.spip.net/fr_article3226.html
|
|
# Pour que le serveur http renvoie les erreurs 404 vers SPIP, supprimer le '#'
|
|
|
|
# ErrorDocument 404 /spip.php?page=404
|
|
|
|
#
|
|
###
|