aboutsummaryrefslogtreecommitdiff
path: root/htaccess_dist
blob: a3cd693415fb83e112bd27595a9052780dab9d32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# 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
#<IfModule mod_deflate.c>
#	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
#	BrowserMatch ^Mozilla/4 gzip-only-text/html
#	BrowserMatch ^Mozilla/4\.[0678] no-gzip
#	BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#	Header append Vary User-Agent env=!dont-vary
	
	# 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 /

RewriteRule ^action\/([A-Za-z\_\-\/]+)$ 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/(.+)/?$ search/?tag=$1

</IfModule>