wellcart/skeleton-application/master/public/.htaccess - Htaccess File

wellcart/skeleton-application/master/public/.htaccess

DirectoryIndex index.php

# Don't show directory listings for URLs which map to a directory.
Options -Indexes -MultiViews

# Follow symbolic links in this directory.
Options +FollowSymLinks

AddDefaultCharset UTF-8

<IfModule mod_php5.c>
    php_flag register_globals Off
    php_flag magic_quotes_gpc Off
    php_flag magic_quotes_runtime Off
    php_flag magic_quotes_sybase Off
    php_value session.auto_start 0
    php_value output_buffering 0
    php_value session.use_trans_sid 0
    php_value memory_limit 128M
    php_value max_execution_time 18000
    php_flag suhosin.session.cryptua off
    php_flag zend.ze1_compatibility_mode Off
    php_value short_open_tag On
    php_value mbstring.func_overload  0
    php_value default_charset         UTF-8
</IfModule>

<IfModule mod_security.c>
# disable POST processing to not break multiple image upload
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

<IfModule mod_ssl.c>
## make HTTPS env vars available for CGI mode
    SSLOptions StdEnvVars
</IfModule>

<IfModule mod_expires.c>
# Add default Expires header
    ExpiresDefault "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
<FilesMatch ".(ico|pdf|flv)$">
    Header set Cache-Control "max-age=29030400, public"
</FilesMatch>

<FilesMatch ".(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>

<FilesMatch ".(xml|txt|css|js)$">
    Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>

<FilesMatch ".(html|htm|php)$">
    Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{QUERY_STRING} ../    [NC,OR]
    RewriteCond %{QUERY_STRING} boot.ini [NC,OR]
    RewriteCond %{QUERY_STRING} ftp:     [NC,OR]
    RewriteCond %{QUERY_STRING} http:    [NC,OR]
    RewriteCond %{QUERY_STRING} https:   [NC,OR]
    RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
    RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|'|"|;|?|*).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(globals|encode|config|localhost|loopback).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]

    RewriteRule ^(.*)$ - [F,L]
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
    RewriteRule .* - [L,R=405]

    RewriteRule ^(data|config|modules|packages|vendor|bootstrap.php|script.php|environment.php|.svn|.git|.txt|.phar|.md|.zip) - [F,L]
    
    # RewriteRule    ^(admin+)/?  admin.php  [NC,L]
    # RewriteRule    ^(api+)/?    api.php    [NC,L]
    
    # The following rule tells Apache that if the requested filename
    # exists, simply serve it.
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]

    
    # The following rewrites all other queries to index.php. The 
    # condition ensures that if you are using Apache aliases to do
    # mass virtual hosting, the base path will be prepended to 
    # allow proper resolution of the index.php file; it will work
    # in non-aliased environments as well, providing a safe, one-size 
    # fits all solution.
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
</IfModule>

On Github License

Files

Download PDF of Htaccess file
ENV, HTTPS, POST, QUERY_STRING, , REQUEST_METHOD, REQUEST_URI

Comments

Apache