0
|
1 # Блокировать атакующих
|
|
2 #Deny from 192.168.0.1
|
|
3 #Deny from 192.168.0.2
|
|
4
|
|
5 # Редиректы страниц
|
|
6 #Redirect 301 /old-url /new-url
|
|
7
|
|
8 Options -Indexes
|
|
9
|
|
10 DirectoryIndex index.html .cms/index.php
|
|
11
|
|
12 <IfModule mod_rewrite.c>
|
|
13
|
|
14 RewriteEngine On
|
|
15 RewriteBase "/"
|
|
16
|
|
17 # domain.ru, www.domain.ru => domain.com
|
|
18 #RewriteCond %{HTTP_HOST} ^(www\.)?domain\.ru$ [NC]
|
|
19 #RewriteRule ^(.*)$ https://domain.com%{REQUEST_URI} [R=301,L]
|
|
20
|
|
21 # http => https
|
|
22 #RewriteCond %{HTTPS} off
|
|
23 #RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
|
24
|
|
25 # . => www
|
|
26 #RewriteCond %{HTTP_HOST} !^www\. [NC]
|
|
27 #RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
|
28
|
|
29 # www => .
|
|
30 #RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
|
|
31 #RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
|
|
32
|
|
33 # .hidden files
|
|
34 RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) (^|/)\.(.*) HTTP/[0-9.]+$"
|
|
35 RewriteRule ^ - [F]
|
|
36
|
|
37 # redirect /test/ to /test if file /test is exist
|
|
38 RewriteCond %{REQUEST_FILENAME} !-d
|
|
39 RewriteCond %{REQUEST_FILENAME} -f
|
|
40 RewriteCond %{REQUEST_URI} ^(.+)/$
|
|
41 RewriteRule ^(.+)/$ $1 [R=301,L]
|
|
42
|
|
43 #AcceptPathInfo Off
|
|
44 RewriteCond %{REQUEST_FILENAME} !-f
|
|
45 RewriteCond %{REQUEST_FILENAME} !-d
|
|
46 RewriteCond %{REQUEST_URI} !=/favicon.ico
|
|
47 RewriteRule ^(.*)$ .cms/index.php
|
|
48
|
|
49 </IfModule>
|
|
50
|
|
51 <IfModule mod_headers.c>
|
|
52
|
|
53 # 180 days
|
|
54 #Header set Cache-Control "max-age=15552000"
|
|
55 # Этот вариант закеширует вход в админку при установке CMS.
|
|
56 # Нужно быть готовым нажать F5 или раскомментировать после установки.
|
|
57 # Всему подряд добавлять кеширование только чтобы успокоить гугл-консоль - плохой вариант
|
|
58 # В админке, в Шаблоны, можно задать свои заголовки. Если там прописать
|
|
59 # cache-control: max-age=15552000
|
|
60 # то отдаваемые страницы получат этот заголовок, но админка и api-запросы
|
|
61 # будут отдаваться без этого заголовка.
|
|
62
|
|
63 # Нижеперечисленное подойдет если у вас нет nginx перед apache.
|
|
64 # Если же захотите кешировать все подряд и делать исключения через <If>,
|
|
65 # то убедитесь что админка и другие нужные api-запросы не получают
|
|
66 # заголовок Cache-Control
|
|
67
|
|
68 # 180 days
|
|
69 #<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|qoi)$">
|
|
70 # Header set Cache-Control "max-age=15552000"
|
|
71 #</FilesMatch>
|
|
72
|
|
73 # 180 days
|
|
74 #<FilesMatch "\.(js|css)$">
|
|
75 # Header set Cache-Control "max-age=15552000"
|
|
76 #</FilesMatch>
|
|
77
|
|
78 </IfModule>
|
|
79
|
|
80 #<IfModule mod_expires.c>
|
|
81 # ExpiresActive On
|
|
82 # ExpiresDefault "access plus 1 week"
|
|
83 #</IfModule>
|
|
84 #
|
|
85 #<IfModule mod_deflate.c>
|
|
86 # SetOutputFilter DEFLATE
|
|
87 #</IfModule>
|
|
88
|
|
89 # Для отладки на хостингах
|
|
90 # Если нет ошибок PHP в error.log
|
|
91 # php_flag display_startup_errors off
|
|
92 # php_flag display_errors off
|
|
93 # php_flag html_errors off
|
|
94 # php_flag log_errors on
|
|
95 # php_flag ignore_repeated_errors off
|
|
96 # php_flag ignore_repeated_source off
|
|
97 # php_flag report_memleaks on
|
|
98 # php_flag track_errors on
|
|
99 # php_value docref_root 0
|
|
100 # php_value docref_ext 0
|
|
101 # php_value error_log /home/<u>/<user_name>/<user_name>.beget.tech/PHP_errors.log
|
|
102 # php_value error_reporting 2047
|
|
103 # php_value log_errors_max_len 0
|
|
104 # <Files PHP_errors.log>
|
|
105 # Order allow,deny
|
|
106 # Deny from all
|
|
107 # Satisfy All
|
|
108 # </Files>
|