aboutsummaryrefslogtreecommitdiff
path: root/htaccess-dist
diff options
context:
space:
mode:
Diffstat (limited to 'htaccess-dist')
-rw-r--r--htaccess-dist145
1 files changed, 145 insertions, 0 deletions
diff --git a/htaccess-dist b/htaccess-dist
new file mode 100644
index 000000000..977d3ea71
--- /dev/null
+++ b/htaccess-dist
@@ -0,0 +1,145 @@
+# Elgg htaccess directives
+# Copyright Curverider Ltd 2008-2009
+# License http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+# Link http://elgg.org/
+
+<IfModule !mod_rewrite.c>
+ # ugly ugly hack to detect missing mod_rewrite
+ # RedirectMatch must be to an absolute destination, so forces 500 error...
+ ErrorDocument 500 "Elgg error: Apache does not have mod_rewrite loaded. Please check your Apache setup."
+ RedirectMatch 302 .* index.php
+</IfModule>
+
+<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
+
+# Turn on expiry
+<IfModule mod_expires.c>
+ ExpiresActive On
+ ExpiresDefault "access plus 10 years"
+</IfModule>
+
+# php 4, apache 1.x
+<IfModule mod_php4.c>
+ ErrorDocument 500 "Elgg error: Elgg does not support PHP 4."
+ RedirectMatch 302 .* index.php
+</IfModule>
+
+# php 4, apache 2
+<IfModule sapi_apache2.c>
+ ErrorDocument 500 "Elgg error: Elgg does not support PHP 4."
+ RedirectMatch 302 .* index.php
+</IfModule>
+
+# 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>
+
+# Turn on mod_gzip if available
+<IfModule mod_gzip.c>
+ mod_gzip_on yes
+ mod_gzip_dechunk yes
+ mod_gzip_keep_workfiles No
+ mod_gzip_minimum_file_size 1000
+ mod_gzip_maximum_file_size 1000000
+ mod_gzip_maximum_inmem_size 1000000
+ mod_gzip_item_include mime ^text/.*
+ mod_gzip_item_include mime ^application/javascript$
+ mod_gzip_item_include mime ^application/x-javascript$
+ # Exclude old browsers and images since IE has trouble with this
+ mod_gzip_item_exclude reqheader "User-Agent: .*Mozilla/4\..*\["
+ mod_gzip_item_exclude mime ^image/.*
+</IfModule>
+
+## Apache2 deflate support if available
+##
+## Important note: mod_headers is required for correct functioning across proxies.
+##
+<IfModule mod_deflate.c>
+ AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+ BrowserMatch ^Mozilla/4\.[0678] no-gzip
+ BrowserMatch \bMSIE !no-gzip
+
+<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
+
+</IfModule>
+
+# Configure ETags
+<FilesMatch "\.(jpg|jpeg|gif|png|mp3|flv|mov|avi|3pg|html|htm|swf)$">
+ FileETag MTime Size
+</FilesMatch>
+
+<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 /
+
+# Profile friendly URL using subdomain
+# Replace each "example.com" by "your-domain.com"
+RewriteCond %{HTTP_HOST} ([^.]+)\.example.com [NC]
+RewriteRule ^(.*) http://example.com/engine/handlers/pagehandler.php?handler=profile&page=%1 [P]
+
+RewriteRule ^action\/([A-Za-z0-9\_\-\/]+)$ engine/handlers/action_handler.php?action=$1
+
+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
+RewriteRule ^pg\/([A-Za-z0-9\_\-]+)$ engine/handlers/pagehandler.php?handler=$1
+
+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>
+
+# Needed to be logged in in subdomains too
+# Replace ".example.com" by ".your-domain.com"
+php_value session.cookie_domain ".example.com"