init
This commit is contained in:
44
.htaccess
Normal file
44
.htaccess
Normal file
@@ -0,0 +1,44 @@
|
||||
# Disable directory listing
|
||||
Options -Indexes
|
||||
|
||||
# Default directory index
|
||||
DirectoryIndex index.html
|
||||
|
||||
# Serve index.html for SPA client-side routing (if file/dir doesn't exist)
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
# If the request is for an existing file or directory, serve it
|
||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^ - [L]
|
||||
# Otherwise rewrite to index.html
|
||||
RewriteRule ^ index.html [L]
|
||||
</IfModule>
|
||||
|
||||
# Optional: small caching hints for static assets
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresByType text/css "access plus 1 week"
|
||||
# Keep JS cache short during development to avoid stale scripts on mobile
|
||||
ExpiresByType application/javascript "access plus 60 seconds"
|
||||
ExpiresByType image/* "access plus 1 week"
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
# Add Cache-Control headers for more precise control
|
||||
<FilesMatch "\.js$">
|
||||
Header set Cache-Control "max-age=60, public"
|
||||
</FilesMatch>
|
||||
<FilesMatch "\.css$">
|
||||
Header set Cache-Control "max-age=604800, public"
|
||||
</FilesMatch>
|
||||
<FilesMatch "\.(png|jpg|jpeg|gif|svg)$">
|
||||
Header set Cache-Control "max-age=604800, public"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# Prevent serving hidden files (like .env, .git)
|
||||
<FilesMatch "^\..+">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
Reference in New Issue
Block a user