User Tools

Site Tools


config:htaccess

This is an old revision of the document!


.htaccess File

This sections talks about how you can tweak/configure the root .htaccess file. This file is only necessary if you are using PrettURLs, but can be of use in other ways.

Force no-www / www

GetSimple doesn't by default force a domain to use either www or no-www based on it's SITEURL that is setup within the administrative panel. You can add this code to force it to never use www in your URL:

RewriteCond %{HTTP_HOST} !^domain.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

Conversely, if you’d prefer to use www in all of your URLs, you can use this:

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

The code above should be included in your .htaccess file below the RewriteBase line, but before the RewriteCond %{REQUEST_FILENAME} !-f line. See this forum post for more information.

Optimization

In lieu of using a caching plugin to speed up your GetSimple based website, you can try adding this little piece of code to the bottom of your root level .htaccess file. It's been running on get-simple.info for months with absolutely no problems.

# Enable GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>

# Expires Headers - 2678400s = 31 days
<ifmodule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 7200 seconds"
  ExpiresByType image/gif "access plus 2678400 seconds"
  ExpiresByType image/jpeg "access plus 2678400 seconds"
  ExpiresByType image/png "access plus 2678400 seconds"
  ExpiresByType text/css "access plus 518400 seconds"
  ExpiresByType text/javascript "access plus 2678400 seconds"
  ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>

# Cache Headers
<ifmodule mod_headers.c>
  # Cache specified files for 31 days
  <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
  Header set Cache-Control "max-age=2678400, public"
  </filesmatch>
  # Cache HTML files for a couple hours
  <filesmatch "\.(html|htm)$">
  Header set Cache-Control "max-age=7200, private, must-revalidate"
  </filesmatch>
  # Cache PDFs for a day
  <filesmatch "\.(pdf)$">
  Header set Cache-Control "max-age=86400, public"
  </filesmatch>
  # Cache Javascripts for 31 days
  <filesmatch "\.(js)$">
  Header set Cache-Control "max-age=2678400, private"
  </filesmatch>
</ifmodule>

Thanks to Dave Rupert for the code that was originally created for WordPress.

config/htaccess.1299257222.txt.gz · Last modified: 2013/04/19 14:55 (external edit)