Created
August 16, 2012 15:22
-
-
Save sepehr/3370984 to your computer and use it in GitHub Desktop.
Apache: .htaccess Template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## | |
# Apache .htaccess template | |
## | |
## Protect files and directories from prying eyes. | |
<FilesMatch "\.(make|test|md|po|sh|.*sql|.*bson|tpl(\.php)?|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$"> | |
Order allow,deny | |
</FilesMatch> | |
## Don't show directory listings for URLs which map to a directory. | |
Options -Indexes | |
## Follow symbolic links in this directory. | |
Options +FollowSymLinks | |
## Let our index.php file handle 404 errors. | |
ErrorDocument 404 /index.php | |
## Force simple error message asset files. | |
<FilesMatch "\.(ico|png|jpg|css|js)$"> | |
ErrorDocument 404 "404 - The requested file was not found." | |
</FilesMatch> | |
# Set the default handler. | |
DirectoryIndex index.php | |
## Override PHP settings. | |
<IfModule mod_php5.c> | |
php_value magic_quotes_gpc 0 | |
php_value register_globals 0 | |
php_value session.auto_start 0 | |
php_value mbstring.http_input pass | |
php_value mbstring.http_output pass | |
php_value mbstring.encoding_translation 0 | |
</IfModule> | |
## GZip Compression. | |
<IfModule mod_deflate.c> | |
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/ | |
<IfModule mod_setenvif.c> | |
<IfModule mod_headers.c> | |
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding | |
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding | |
</IfModule> | |
</IfModule> | |
# HTML, TXT, CSS, JavaScript, JSON, XML, HTC: | |
<IfModule filter_module> | |
FilterDeclare COMPRESS | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/x-icon | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf | |
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype | |
FilterChain COMPRESS | |
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no | |
</IfModule> | |
<IfModule !mod_filter.c> | |
# Legacy versions of Apache | |
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json | |
AddOutputFilterByType DEFLATE application/javascript | |
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component | |
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml | |
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype | |
</IfModule> | |
</IfModule> | |
## Rewrite rules | |
<IfModule mod_rewrite.c> | |
Options +FollowSymlinks -Indexes | |
RewriteEngine On | |
# Update RewriteBase if the app is in a subdirectory. | |
RewriteBase / | |
# Remove access to "system" and "data" folders | |
RewriteCond %{REQUEST_URI} ^(system|data).* | |
RewriteRule ^(.*)$ /index.php?/$1 [L] | |
# Block access to "hidden" directories whose names begin with | |
# a period. e.g. .git, .svn | |
RewriteCond %{SCRIPT_FILENAME} -d | |
RewriteCond %{SCRIPT_FILENAME} -f | |
RewriteRule "(^|/)\." - [F] | |
# Checks to see if the user is attempting to access a valid file, | |
# such as an image or css document, if this isn't true it sends the | |
# request to the root index.php. | |
RewriteCond %{REQUEST_FILENAME} !-f | |
RewriteCond %{REQUEST_FILENAME} !-d | |
RewriteRule ^(.*)$ index.php?/$1 [L] | |
</IfModule> | |
## End of file .htaccess ## | |
## Location: ./.htaccess ## |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment