zitinexus-router-script/UI/.htaccess

74 lines
2.1 KiB
ApacheConf

# ZitiNexus Router Enrollment UI - Apache Configuration
# This file helps serve assets correctly when document root is not set to /public/
# Redirect to public directory for main pages
RewriteEngine On
# Serve assets directly from assets directory
RewriteRule ^assets/(.*)$ assets/$1 [L]
# Redirect main pages to public directory
RewriteRule ^$ public/index.php [L]
RewriteRule ^index\.php$ public/index.php [L]
RewriteRule ^dashboard\.php$ public/dashboard.php [L]
# Handle other requests
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/$1 [L]
# Security: Deny access to sensitive directories
<Files "*.php">
<RequireAll>
Require all granted
</RequireAll>
</Files>
<Directory "includes">
Require all denied
</Directory>
<Directory "logs">
Require all denied
</Directory>
<Directory "temp">
Require all denied
</Directory>
# Set proper MIME types for assets
<IfModule mod_mime.c>
AddType text/css .css
AddType application/javascript .js
AddType image/png .png
AddType image/jpeg .jpg .jpeg
AddType image/gif .gif
AddType image/svg+xml .svg
AddType image/x-icon .ico
</IfModule>
# Enable compression for text files
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
# Set cache headers for static assets
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
</IfModule>