diff .htaccess @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.htaccess	Fri Oct 11 22:40:23 2024 +0000
@@ -0,0 +1,108 @@
+# Блокировать атакующих
+#Deny from 192.168.0.1
+#Deny from 192.168.0.2
+
+# Редиректы страниц
+#Redirect 301 /old-url /new-url
+
+Options -Indexes
+
+DirectoryIndex index.html .cms/index.php
+
+<IfModule mod_rewrite.c>
+
+    RewriteEngine On
+    RewriteBase "/"
+
+    # domain.ru, www.domain.ru => domain.com
+    #RewriteCond %{HTTP_HOST} ^(www\.)?domain\.ru$ [NC]
+    #RewriteRule ^(.*)$ https://domain.com%{REQUEST_URI} [R=301,L]
+
+    # http => https
+    #RewriteCond %{HTTPS} off
+    #RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
+
+    # . => www
+    #RewriteCond %{HTTP_HOST} !^www\. [NC]
+    #RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
+    
+    # www => .
+    #RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
+    #RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
+
+    # .hidden files
+    RewriteCond %{THE_REQUEST} "^(GET|POST|HEAD) (^|/)\.(.*) HTTP/[0-9.]+$"
+    RewriteRule ^ - [F]
+
+    # redirect /test/ to /test if file /test is exist
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} -f
+    RewriteCond %{REQUEST_URI} ^(.+)/$
+    RewriteRule ^(.+)/$ $1 [R=301,L]
+
+    #AcceptPathInfo Off
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_URI} !=/favicon.ico
+    RewriteRule ^(.*)$ .cms/index.php
+
+</IfModule>
+
+<IfModule mod_headers.c>
+
+    # 180 days
+    #Header set Cache-Control "max-age=15552000"
+    # Этот вариант закеширует вход в админку при установке CMS.
+    # Нужно быть готовым нажать F5 или раскомментировать после установки.
+    # Всему подряд добавлять кеширование только чтобы успокоить гугл-консоль - плохой вариант
+    # В админке, в Шаблоны, можно задать свои заголовки. Если там прописать
+    # cache-control: max-age=15552000
+    # то отдаваемые страницы получат этот заголовок, но админка и api-запросы
+    # будут отдаваться без этого заголовка.
+
+    # Нижеперечисленное подойдет если у вас нет nginx перед apache.
+    # Если же захотите кешировать все подряд и делать исключения через <If>,
+    # то убедитесь что админка и другие нужные api-запросы не получают
+    # заголовок Cache-Control
+    
+    # 180 days
+    #<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|qoi)$">
+    #    Header set Cache-Control "max-age=15552000"
+    #</FilesMatch>
+
+    # 180 days
+    #<FilesMatch "\.(js|css)$">
+    #    Header set Cache-Control "max-age=15552000"
+    #</FilesMatch>
+    
+</IfModule>
+
+#<IfModule mod_expires.c>
+#    ExpiresActive On
+#    ExpiresDefault "access plus 1 week"
+#</IfModule>
+#
+#<IfModule mod_deflate.c>
+#    SetOutputFilter DEFLATE
+#</IfModule>
+
+# Для отладки на хостингах
+# Если нет ошибок PHP в error.log
+# php_flag display_startup_errors off
+# php_flag display_errors off
+# php_flag html_errors off
+# php_flag log_errors on
+# php_flag ignore_repeated_errors off
+# php_flag ignore_repeated_source off
+# php_flag report_memleaks on
+# php_flag track_errors on
+# php_value docref_root 0
+# php_value docref_ext 0
+# php_value error_log /home/<u>/<user_name>/<user_name>.beget.tech/PHP_errors.log
+# php_value error_reporting 2047
+# php_value log_errors_max_len 0
+# <Files PHP_errors.log>
+#     Order allow,deny
+#     Deny from all
+#     Satisfy All
+# </Files>