You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
# Kirby .htaccess
|
|
# revision 2023-07-22
|
|
|
|
# rewrite rules
|
|
<IfModule mod_rewrite.c>
|
|
|
|
# enable awesome urls. i.e.:
|
|
# http://yourdomain.com/about-us/team
|
|
RewriteEngine on
|
|
|
|
# make sure to set the RewriteBase correctly
|
|
# if you are running the site in a subfolder;
|
|
# otherwise links or the entire site will break.
|
|
#
|
|
# If your homepage is http://yourdomain.com/mysite,
|
|
# set the RewriteBase to:
|
|
#
|
|
# RewriteBase /mysite
|
|
|
|
# In some environments it's necessary to
|
|
# set the RewriteBase to:
|
|
#
|
|
# RewriteBase /
|
|
|
|
# block files and folders beginning with a dot, such as .git
|
|
# except for the .well-known folder, which is used for Let's Encrypt and security.txt
|
|
RewriteRule (^|/)\.(?!well-known\/) index.php [L]
|
|
|
|
# block all files in the content folder from being accessed directly
|
|
RewriteRule ^content/(.*) index.php [L]
|
|
|
|
# block all files in the site folder from being accessed directly
|
|
RewriteRule ^site/(.*) index.php [L]
|
|
|
|
# block direct access to Kirby and the Panel sources
|
|
RewriteRule ^kirby/(.*) index.php [L]
|
|
|
|
# make site links work
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteCond %{REQUEST_FILENAME} !-d
|
|
RewriteRule ^(.*) index.php [L]
|
|
|
|
</IfModule>
|
|
|
|
# pass the Authorization header to PHP
|
|
SetEnvIf Authorization "(.+)" HTTP_AUTHORIZATION=$1
|
|
|
|
# compress text file responses
|
|
<IfModule mod_deflate.c>
|
|
AddOutputFilterByType DEFLATE text/plain
|
|
AddOutputFilterByType DEFLATE text/html
|
|
AddOutputFilterByType DEFLATE text/css
|
|
AddOutputFilterByType DEFLATE text/javascript
|
|
AddOutputFilterByType DEFLATE application/json
|
|
AddOutputFilterByType DEFLATE application/javascript
|
|
AddOutputFilterByType DEFLATE application/x-javascript
|
|
</IfModule>
|
|
|
|
# set security headers in all responses
|
|
<IfModule mod_headers.c>
|
|
|
|
# serve files as plain text if the actual content type is not known
|
|
# (hardens against attacks from malicious file uploads)
|
|
Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"
|
|
Header set X-Content-Type-Options "nosniff"
|
|
|
|
</IfModule>
|
|
|