Files
zwitschi 9f0a216c5e Add new templates and tests for improved functionality
- Created index.html template for the homepage with service cards and partner logos.
- Added page_from_md.html template for rendering pages from markdown.
- Developed services.html template detailing various services offered.
- Implemented tests for link handling in markdown, ensuring external links open in new tabs and internal links function correctly.
- Enhanced markdown parser tests to validate heading extraction, content rendering, and link safety.
- Introduced utility tests for template rendering, HTML minification, and JavaScript minification.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 13:05:43 +02:00

84 lines
3.8 KiB
ApacheConf

## Canonicalization and security headers
## ------------------------------------
## Enable rewrite engine
RewriteEngine On
## 1) Canonical host: redirect www -> apex (always to HTTPS)
RewriteCond %{HTTP_HOST} ^www\.allucanget\.biz$ [NC]
RewriteRule ^ https://allucanget.biz%{REQUEST_URI} [R=301,L]
## 2) Force HTTPS (works for direct HTTPS and when behind proxies setting X-Forwarded-Proto)
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
## 3) Security headers
<IfModule mod_headers.c>
# HSTS: one year, include subdomains (enable after HTTPS is configured everywhere)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" env=HTTPS
# Clickjacking protection (also enforced via CSP frame-ancestors)
Header set X-Frame-Options "SAMEORIGIN"
# MIME sniffing protection
Header set X-Content-Type-Options "nosniff"
# Referrer policy
Header set Referrer-Policy "strict-origin-when-cross-origin"
# Lock down powerful features not in use
Header set Permissions-Policy "geolocation=(), camera=(), microphone=(), payment=(), usb=(), accelerometer=(), gyroscope=(), magnetometer=()"
# Content Security Policy tuned for local assets + jsdelivr Tailwind CDN
Header set Content-Security-Policy "object-src 'none'; frame-ancestors 'self'; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; upgrade-insecure-requests; block-all-mixed-content"
Header set Content-Security-Policy "default-src *.allucanget.biz; base-uri 'self'; script-src 'self' 'unsafe-inline' https://contact.allucanget.biz https://cdn.jsdelivr.net https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline' https://contact.allucanget.biz https://cdn.jsdelivr.net https://static.cloudflareinsights.com; img-src 'self' data: https:; form-action https://contact.allucanget.biz; connect-src 'self' https://contact.allucanget.biz;"
</IfModule>
# ------------------------------------------------------------------
# Redirect the root URL ("/") to the canonical file "index.html"
# ------------------------------------------------------------------
RewriteRule ^$ /index.html [L]
# ------------------------------------------------------------------
# Internally rewrite clean URLs like "/about" → "about.html"
# ------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ $1.html [L]
# ensure charset encoding is UTF-8 for all content
AddDefaultCharset UTF-8
# BEGIN cPanel-generated php ini directives, do not edit
# Manual editing of this file may result in unexpected behavior.
# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
<IfModule php5_module>
php_flag asp_tags Off
php_flag display_errors Off
php_value max_execution_time 30
php_value max_input_time 60
php_value max_input_vars 1000
php_value memory_limit 64M
php_value post_max_size 16M
php_value session.gc_maxlifetime 1440
php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
php_value upload_max_filesize 16M
php_flag zlib.output_compression Off
</IfModule>
<IfModule lsapi_module>
php_flag asp_tags Off
php_flag display_errors Off
php_value max_execution_time 30
php_value max_input_time 60
php_value max_input_vars 1000
php_value memory_limit 64M
php_value post_max_size 16M
php_value session.gc_maxlifetime 1440
php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
php_value upload_max_filesize 16M
php_flag zlib.output_compression Off
</IfModule>
# END cPanel-generated php ini directives, do not edit