# Kirby .htaccess # rewrite rules # 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 text files in the content folder from being accessed directly RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L] # block all files in the site folder from being accessed directly # except for requests to plugin assets files RewriteRule ^site/(.*) index.php [L] # Enable authentication header SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 # 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] # compress text file responses 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