-
Notifications
You must be signed in to change notification settings - Fork 4
/
.htaccess
96 lines (83 loc) · 3.17 KB
/
.htaccess
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
# добавляем заголовок с кодировкой для страниц
AddDefaultCharset utf-8
# устанавливаем страницу по умолчанию
DirectoryIndex index.php index.html index.htm
# запрещаем выводить содержимое папок
Options -Indexes
Options FollowSymLinks
# разрешаем использовать короткие теги
php_flag short_open_tag On
# обозначаем текстовый тип для баз данных
<IfModule mime_module>
AddType text/plain db
</IfModule>
# запрешаем доступ из браузера к временным файлам
<FilesMatch "\.(tmp|bak)$">
Require all denied
</FilesMatch>
# компрессия данных для определённых типов
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom+xml
<ifModule mod_headers.c>
RequestHeader edit If-None-Match "^\"(.*)-gzip\"$" "\"$1\""
Header edit ETag "^\"(.*[^g][^z][^i][^p])\"$" "\"$1-gzip\""
</IfModule>
</IfModule>
# включаем кэш для статических файлов
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf|txt|mp3)$">
<ifModule mod_headers.c>
Header set Cache-Control "max-age=345600"
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 345600 seconds"
</ifModule>
</FilesMatch>
# выключаем кэш для динамических файлов
<FilesMatch "\.(db|html)$">
<ifModule mod_headers.c>
Header set Cache-Control "max-age=0"
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 0 seconds"
</ifModule>
</FilesMatch>
# выключаем поддержку 3rd party cookies
<ifModule mod_headers.c>
Header set P3P "CP=\"NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM\""
</IfModule>
# удаляем лишнию информацию
ServerSignature Off
php_flag expose_php Off
<ifModule mod_headers.c>
Header always unset "X-Powered-By"
Header unset "X-Powered-By"
</IfModule>
# редиректим на https
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# включаем обработку ссылок на события
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(\w+)\/(\d+)\/([\w\+]+)$ php/api.php?method=event.link&game=$1&event=$2&raid=$3&format=redirect
</IfModule>
# обработка ошибок
ErrorDocument 403 "You aren't allowed to be here."
ErrorDocument 404 "I can't find what you are looking for..."
ErrorDocument 500 "I don't know what to do. This isn't your fault."