Fixed bug #16075: Add IfModule mod_rewrite.c to misc/advanced.htaccess
[Packages/TYPO3.CMS.git] / misc / advanced.htaccess
1 #####
2
3 # Example .htaccess file
4
5 # This file contains a collection of almost everything you will need
6 # for optimising TYPO3:
7
8 # - mod_rewrite (used for SimulateStaticDocuments, RealUrl, etc.)
9 # - PHP optimisation
10
11 # If you want to use it, you'll need to rename this file to '.htaccess'.
12 # (To make this work you will need to adjust the 'AllowOverride'
13 # directive in your Apache configuration file.)
14
15 # IMPORTANT: You may need to change this file depending on your TYPO3
16 # installation!
17
18 # You should change every occurance of TYPO3root/ to the location where you
19 # have your website in. For example:
20 # If you have your website located at http://mysite.com/
21 # then your TYPO3root/ is just empty (remove 'TYPO3root/')
22 # If you have your website located at http://mysite.com/some/path/
23 # then your TYPO3root/ is some/path/ (search and replace)
24
25 # If you have problems with this file, try using the minimal
26 # mod_rewrite.htaccess which is located in the typo3_src/misc/
27 # directory of this installation.
28
29 # You can also use this configuration in your httpd.conf, but you'll have
30 # to modify some lines, see the comments (search for 'httpd.conf')
31
32 # Using rewriting in your httpd.conf is much faster, btw.
33
34 # Questions about this file go to the matching Install mailing list,
35 # see http://typo3.org/documentation/mailing-lists/
36
37 ####
38
39 ##
40 # Compressed .js and .css files
41 ##
42 # uncomment the following lines if you use compression
43 #
44 #<FilesMatch "\.js\.gzip$">
45 #  AddType "text/javascript" .gzip
46 #</FilesMatch>
47 #<FilesMatch "\.css\.gzip$">
48 #  AddType "text/css" .gzip
49 #</FilesMatch>
50 #AddEncoding gzip .gzip
51
52
53 ### Begin: Rewrite stuff ###
54
55 <IfModule mod_rewrite.c>
56
57 # Enable URL rewriting
58 RewriteEngine On
59
60 # To assist in debugging rewriting, you could use these lines
61 # DON'T enable it for production!
62 # This will only work in httpd.conf, not in .htaccess files
63 #RewriteLog /var/log/apache/rewrite.log
64 #RewriteLogLevel 9
65
66 # If you use the RealUrl extension, then you'll have to enable the next line.
67 # You will have to change this path if your TYPO3 installation is located
68 # in a subdirectory of the website root.
69
70 # If you place this in httpd.conf, you cannot use this directive in any case!
71 #RewriteBase /
72
73 # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename]
74 # and $TYPO3_CONF_VARS[FE][versionNumberInFilename])
75 # IMPORTANT: This rule has to be the very first rule in order to work! 
76 RewriteCond %{REQUEST_FILENAME} !-f
77 RewriteCond %{REQUEST_FILENAME} !-d
78 RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
79
80 # Stop rewrite processing if we are in the typo3/ directory
81 # For httpd.conf, use this line instead of the next one:
82 # RewriteRule ^/TYPO3root/(typo3/|t3lib/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
83 RewriteRule ^(typo3/|t3lib/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
84
85 # Redirect http://mysite/typo3 to http://mysite/typo3/index_re.php
86 # and stop the rewrite processing
87 # For httpd.conf, use this line instead of the next one:
88 # RewriteRule ^/TYPO3root/typo3$ /TYPO3root/typo3/index.php [L]
89 RewriteRule ^typo3$ typo3/index_re.php [L]
90
91 # If the file/symlink/directory does not exist => Redirect to index.php
92 # Important note: If you copy/paste this into httpd.conf instead
93 # of .htaccess you will need to add '%{DOCUMENT_ROOT}' left to each
94 # '%{REQUEST_FILENAME}' part.
95 RewriteCond %{REQUEST_FILENAME} !-f
96 RewriteCond %{REQUEST_FILENAME} !-d
97 RewriteCond %{REQUEST_FILENAME} !-l
98
99 # Main URL rewriting.
100
101 # If you use Windows and SimulateStaticDocuments do not work, try adding a
102 # slash (/) right before 'index.php' below.
103
104 # The example shows how to rewrite only *.html and *.pdf files to index.php
105 # This may be helpful when using an extension that can generate PDF files
106 # on the fly.
107 # Example: RewriteRule .*\.(html|pdf)$ index.php [L]
108
109 # For httpd.conf, use this line instead of the next one that has no '#':
110 # RewriteRule .* /TYPO3root/index.php [L]
111
112 # For use with the RealUrl extension, you might need to remove the
113 # RewriteBase directive somewhere above and use this line instead of the
114 # next one:
115 # RewriteRule .* /index.php [L]
116
117 RewriteRule .* index.php [L]
118
119 </IfModule>
120
121 ### End: Rewrite stuff ###
122
123 ### Begin: PHP optimisation ###
124
125 # All features below are left to the default if you don't change this.
126 # Simply remove the comment marks if you want to use some/all of these
127 # settings
128
129 # The PHP developers recommend disabling this feature. Do that.
130 # It's deprecated and is likely to be unsupported in future versions of PHP.
131 #php_flag allow_call_time_pass_reference off
132
133 # TYPO3 works fine with register_globals turned off.
134 # This is highly recommended!
135 #php_flag register_globals off
136
137 # PHP may not declare the argv & argc variables (that would contain the GET
138 # information).
139 # TYPO3 doesn't need this, so just turn it off.
140 #php_flag register_argc_argv off
141
142 # Magic quotes for runtime-generated data (data from SQL, exec(), etc.)
143 #php_flag magic_quotes_gpc off
144
145 # Order in which PHP registers GET, POST, Cookie and Built-in variables
146 #php_value variables_order GPCS
147
148 ### End: PHP optimisation ###
149
150 ### Begin: Miscellaneous ###
151
152 # Make sure that directory listings are disabled
153 #Options -Indexes
154
155 # There is a problem with Internet Explorer and mod_gzip on Apache servers.
156 # For more information, see
157 # http://typo3.org/documentation/document-library/rtehtmlarea/Tutorial-79/
158 #mod_gzip_item_exclude file \.css$
159 #mod_gzip_item_exclude file \.png$
160 #mod_gzip_item_exclude file \.gif$
161 #mod_gzip_item_exclude file \.jpg$
162 #mod_gzip_item_exclude file \.jpeg$
163 #mod_gzip_item_exclude file \.js$
164
165 ### End: Miscellaneous ###
166
167 # Add your own rules here
168 # ...