Boost HTACCESS: Revision

# htaccess

# Noelab Seo Speed

# Italian Support Group for Elgg

# @package Fast by Default - Elgg Performances - SEO

# @author Lord55

# @link http://www.noelab.com/

#=============================================================================#

#          START MAIN SETTINGS AND OPTIONS

#=============================================================================#

<Files "htaccess_dist">

    order allow,deny

    deny from all

</Files>

 

# Don't listing directory

Options -Indexes

 

# Follow symbolic links

Options +FollowSymLinks

 

# Default handler

DirectoryIndex index.php

#=============================================================================#

#          END MAIN SETTINGS AND OPTIONS

#=============================================================================#

#=============================================================================#

#   START SEO GZIP AND OPTIMIZATION: Deflate/NoImages Compressed/

#=============================================================================#

## Apache2 deflate support if available

## Important note: mod_headers is required for correct functioning across proxies.

 

<IfModule mod_deflate.c>

# html, txt, css, js, json, xml, htc:

AddOutputFilterByType DEFLATE text/html text/plain text/css application/json

AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript

AddOutputFilterByType DEFLATE text/xml application/xml text/x-component

#Deactivate compression for buggy browsers

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.[0678] no-gzip

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

 

<IfModule mod_headers.c>

Header append Vary User-Agent env=!dont-vary

</IfModule>

# The following is to disable compression for actions. The reason being is that these

# may offer direct downloads which (since the initial request comes in as text/html and headers

# get changed in the script) get double compressed and become unusable when downloaded by IE.

SetEnvIfNoCase Request_URI action\/* no-gzip dont-vary

SetEnvIfNoCase Request_URI actions\/* no-gzip dont-vary

 

 

# Don't compress images

SetEnvIfNoCase Request_URI \

\.(?:gif|jpe?g|png)$ no-gzip dont-vary

</IfModule>

 

 

#=============================================================================#

#          END SEO GZIP AND OPTIMIZATION

#=============================================================================#

#=============================================================================#

#          START SEO HEADERS, CACHING AND OPTIMIZATION

#=============================================================================#

# Turn on expiry

<IfModule mod_expires.c>

ExpiresActive On

ExpiresDefault "access plus 10 years"

Header append Cache-Control "public"

</IfModule>

 

Header unset Last-Modified

Header unset ETag

Header unset Pragma

# Since we're sending far-future expires, we don't need ETags for static content.

FileETag None

#=============================================================================#

#          END SEO HEADERS, CACHING AND OPTIMIZATION

#=============================================================================#

#=============================================================================#

#   START OPTIONS: PhpValue/

#=============================================================================#

# php 5, apache 1 and 2

<IfModule mod_php5.c>

# default memory limit to 64Mb

php_value memory_limit 64M

# to make sure register global is off

php_value register_globals 0

# max post size to 8Mb

php_value post_max_size 8388608

# upload size limit to 5Mb

php_value upload_max_filesize 5242880

# hide errors, enable only if debug enabled

php_value display_errors 0

</IfModule>

#=============================================================================#

#  END OPTIONS: PhpValue/

#=============================================================================#

#=============================================================================#

#          START MAIN REWRITES AND REDIRECTS

#=============================================================================#

<IfModule mod_rewrite.c>

 

RewriteEngine on

 

# If Elgg is in a subdirectory on your site, you might need to add a RewriteBase line

# containing the path from your site root to elgg's root. e.g. If your site is

# http://example.com/ and Elgg is in http://example.com/sites/elgg/, you might need 

#

#RewriteBase /sites/elgg/

#

# here, only without the # in front.

#

# If you're not running Elgg in a subdirectory on your site, but still getting lots

# of 404 errors beyond the front page, you could instead try:

#

#RewriteBase /

 

RewriteRule ^action\/([A-Za-z0-9\_\-\/]+)$ engine/handlers/action_handler.php?action=$1&%{QUERY_STRING}

 

RewriteRule ^services\/api\/([A-Za-z0-9\_\-]+)\/(.*)$ engine/handlers/service_handler.php?handler=$1&request=$2&%{QUERY_STRING}

 

RewriteRule ^export\/([A-Za-z]+)\/([0-9]+)$ services/export/handler.php?view=$1&guid=$2

RewriteRule ^export\/([A-Za-z]+)\/([0-9]+)\/$ services/export/handler.php?view=$1&guid=$2

RewriteRule ^export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ services/export/handler.php?view=$1&guid=$2&type=$3&idname=$4

 

RewriteRule ^\_css\/css\.css$ _css/css.php

 

RewriteRule ^pg\/([A-Za-z0-9\_\-]+)\/(.*)$ engine/handlers/pagehandler.php?handler=$1&page=$2&%{QUERY_STRING}

RewriteRule ^pg\/([A-Za-z0-9\_\-]+)$ engine/handlers/pagehandler.php?handler=$1&%{QUERY_STRING}

 

RewriteRule xml-rpc.php engine/handlers/xml-rpc_handler.php

RewriteRule mt/mt-xmlrpc.cgi engine/handlers/xml-rpc_handler.php

 

RewriteRule ^tag/(.+)/?$ engine/handlers/pagehandler.php?handler=search&page=$1

 

</IfModule>

#=============================================================================#

#          END MAIN REWRITES AND REDIRECTS

#=============================================================================#

History