-
Notifications
You must be signed in to change notification settings - Fork 0
/
.htaccess_modele
executable file
·140 lines (113 loc) · 4.65 KB
/
.htaccess_modele
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# $Id$
# @package ploopi
# @copyright Ovensia
# @license GNU General Public License (GPL)
# @version $Revision$
# @author $Author$
# @modifiedby $LastChangedBy$
# @lastmodified $Date$
# Attention, ce fichier est une configuration generique qu'il convient d'adapter a votre environnement.
# Il existe des configurations plus solides que vous pouvez utiliser si vous pouvez directement modifier le fichier de configuration d'apache.
AddDefaultCharset UTF-8
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
Options +FollowSymLinks -Indexes
</IfModule>
<Files favicon.ico>
ErrorDocument 404 "The requested file favicon.ico was not found."
</Files>
<IfModule mod_php8.c>
AddType application/x-httpd-php .php .php3 .php4 .php5
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors on
php_flag log_errors on
php_flag magic_quotes_gpc Off
php_flag register_globals Off
php_value include_path .
php_flag session.use_trans_sid off
php_flag session.use_only_cookies Off
php_flag session.cookie_httponly On
# Recommandation de sécurité : mettre "On" si connexion chiffrée
php_flag session.cookie_secure Off
php_value memory_limit 256M
php_value post_max_size 32M
php_value upload_max_filesize 32M
php_value max_input_vars 5000
php_value output_buffering Off
php_value short_open_tag on
php_value date.timezone Europe/Paris
php_flag session.upload_progress.enabled On
php_flag session.upload_progress.cleanup On
php_value session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS
php_value session.upload_progress.freq 1%
php_value session.upload_progress.min_freq 1
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
# Cache 2 semaines (A).
ExpiresDefault A1209600
# Ne met pas en cache les pages dynamiques
ExpiresByType text/html A1
</IfModule>
<Files *.svg.gz>
AddType "image/svg+xml" .gz
AddEncoding gzip .gz
</Files>
<Files *.js.gz>
AddType "text/javascript" .gz
AddEncoding gzip .gz
</Files>
<Files *.css.gz>
AddType "text/css" .gz
AddEncoding gzip .gz
</Files>
<IfModule mod_headers.c>
Header unset ETag
Header always set X-Frame-Options "SAMEORIGIN"
</IfModule>
FileETag None
<IfModule rewrite_module>
RewriteEngine on
# Exemple de blocage des urls publiques vers les documents (version rewritée)
#RewriteRule ^documents/[a-z0-9]{32}/.*$ - [F]
# Exemple de blocage des urls publiques vers les documents (version brute)
#RewriteCond %{QUERY_STRING} ploopi_op=doc_file_download
#RewriteCond %{QUERY_STRING} docfile_md5id=[a-z0-9]{32}
#RewriteRule ^(.+) - [F]
# Vérifie si le navigateur peut accepter les fichier gzip
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
# make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
# Vérifie si une version .gz du fichier existe
RewriteCond %{REQUEST_FILENAME}.gz -f
# Si toutes les conditions sont remplies on ajoute .gz à l'url du fichier (de manière transparente)
RewriteRule ^(.+) $1.gz [QSA,L]
# Quelques restrictions d'acces
# Dossiers interdits
RewriteRule ^(config|bin|data|doc|include|install|lang|tools)/.*$ - [F]
# Fichiers interdits dans un sous-dossier
RewriteRule ^[^/]*/(.*\.php[345]?|.*\.txt)$ - [F]
# Fichiers interdits à la racine
RewriteRule ^(cli|cron)$ - [F]
# Fichiers interdits partout
RewriteRule \.(sh|log|sql|inc|bak|.*~)$ - [F]
# Regles de reecriture pour la partie FrontOffice
RewriteRule ^(.*)-h([0-9]*)a([0-9]*)\.[a-z0-9]*(.*)$ index.php?headingid=$2&articleid=$3$4 [L]
RewriteRule ^(.*)-h([0-9]*)\.[a-zA-Z0-9]*(.*)$ index.php?headingid=$2$3 [L]
RewriteRule ^(.*)-a([0-9]*)\.[a-zA-Z0-9]*(.*)$ index.php?articleid=$2$3 [L]
RewriteRule ^tag-([a-zA-Z0-9]*)\.[a-zA-Z0-9]*(.*)$ index.php?query_tag=$1$2 [L]
RewriteRule ^(.*)-d([a-z0-9]{32})\.[a-zA-Z0-9]*(.*)$ index-quick.php?ploopi_op=doc_file_download&docfile_md5id=$2 [L]
RewriteRule ^unsubscribe-([a-zA-Z0-9].*)\.html$ index.php?ploopi_op=webedit_unsubscribe&subscription_email=$1 [L]
# Interdiction complète d'exécuter autre chose que index.php
# Redirection de tout script php vers index.php, sauf exception ci-dessus
RewriteCond %{REQUEST_FILENAME} \.php[345]?$
# Exemple d'exception pour l'exécution d'un script particulier
# RewriteCond %{REQUEST_URI} !^/path/to/script\.php$
RewriteRule ^(.*) index.php [L]
# Redirection de toute demande non satisfaite vers index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]
</IfModule>