Block access to luncene and other supporting files

This commit is contained in:
Cam Findlay 2016-02-11 12:24:18 +13:00
parent 7fdac9b4d3
commit ab68726714
2 changed files with 17 additions and 357 deletions

View File

@ -9,6 +9,23 @@
Deny from all
</Files>
# This denies access to all yml files, since developers might include sensitive
# information in them. See the docs for work-arounds to serve some yaml files
<Files *.yml>
Order allow,deny
Deny from all
</Files>
ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html
<IfModule mod_alias.c>
RedirectMatch 403 /silverstripe-cache(/|$)
RedirectMatch 403 /vendor(/|$)
RedirectMatch 403 /composer\.(json|lock)
RedirectMatch 403 /assets/\.lucene-index(/|$)
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On

View File

@ -1,357 +0,0 @@
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>
<Files web.config>
Order deny,allow
Deny from all
</Files>
<IfModule mod_rewrite.c>
RewriteEngine On
# Legacy rewrite from sapphire/ to framework/ namespace
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^framework/main\.php
RewriteRule ^sapphire/?(.*) http://doc.silverstripe.org/framework/$1 [R=301,L]
# DokuWiki rewrite rules: Need to happen before other rules in order to redirect /doku.php?id=<pagename>
# to /pagename, which can then be matched by the legacy rewrite rules further down
RewriteCond %{QUERY_STRING} ^(\bid\b=([^&]*)&?(.*)?)
RewriteRule ^doku.php$ http://doc.silverstripe.org/%2?%3 [R=301,L]
# Redirect legacy URLs (assumes we're not redirecting other assets, for performance reasons)
# Note: Just works on top-level domains, not if the webroot is in a subfolder
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
#RewriteRule ^execution-pipeline$ http://doc.silverstripe.org/framework/en/reference/ [R=301,L]
RewriteRule ^arraydata$ http://api.silverstripe.org/search/lookup/?q=ArrayData&module=sapphire [R=301,L]
RewriteRule ^autocompletefield$ http://api.silverstripe.org/search/lookup/?q=AutocompleteField&module=sapphire [R=301,L]
RewriteRule ^bbcode$ http://doc.silverstripe.org/framework/en/reference/ [R=301,L]
RewriteRule ^building-for-modularity$ http://doc.silverstripe.org/framework/en/topics/module-development [R=301,L]
RewriteRule ^built-in-page-controls$ http://doc.silverstripe.org/framework/en/reference/built-in-page-controls [R=301,L]
RewriteRule ^cache-control$ http://wiki.silverstripe.org/howto:cache-control [R=301,L]
RewriteRule ^casting$ http://doc.silverstripe.org/framework/en/topics/data-types [R=301,L]
RewriteRule ^checkboxfield$ http://api.silverstripe.org/search/lookup/?q=CheckboxField&module=sapphire [R=301,L]
RewriteRule ^checkboxsetfield$ http://api.silverstripe.org/search/lookup/?q=CheckboxSetField&module=sapphire [R=301,L]
RewriteRule ^checkoutpagetest$ http://doc.silverstripe.org/old/checkoutpagetest [R=301,L]
RewriteRule ^cmsmain$ http://doc.silverstripe.org/framework/en/topics/extending-the-cms [R=301,L]
RewriteRule ^cmsmenu$ http://api.silverstripe.org/search/lookup/?q=CMSMenu&module=sapphire [R=301,L]
RewriteRule ^common-problems$ http://doc.silverstripe.org/framework/en/installation/common-problems [R=301,L]
RewriteRule ^community_run_third_party_websites$ http://doc.silverstripe.org/old/community_run_third_party_websites [R=301,L]
RewriteRule ^complextablefield$ http://doc.silverstripe.org/framework/en/reference/complextablefield [R=301,L]
RewriteRule ^complextablefieldexamples$ http://doc.silverstripe.org/old/complextablefieldexamples [R=301,L]
RewriteRule ^compositefield$ http://api.silverstripe.org/search/lookup/?q=CompositeField&module=sapphire [R=301,L]
RewriteRule ^configuration$ http://doc.silverstripe.org/framework/en/topics/configuration [R=301,L]
RewriteRule ^contentdeliverynetworkissues$ http://doc.silverstripe.org/old/contentdeliverynetworkissues [R=301,L]
RewriteRule ^contentnegotiator$ http://api.silverstripe.org/search/lookup/?q=ContentNegotiator&module=sapphire [R=301,L]
RewriteRule ^contributors$ http://doc.silverstripe.org/old/contributors [R=301,L]
RewriteRule ^contributing$ http://doc.silverstripe.org/framework/en/misc/contributing [R=301,L]
RewriteRule ^controller$ http://doc.silverstripe.org/framework/en/topics/controller [R=301,L]
RewriteRule ^controllers$ http://doc.silverstripe.org/framework/en/topics/controller [R=301,L]
RewriteRule ^creating-modules$ http://doc.silverstripe.org/framework/en/topics/module-development [R=301,L]
RewriteRule ^css$ http://doc.silverstripe.org/framework/en/reference/theme-development [R=301,L]
RewriteRule ^csvbulkloader$ http://api.silverstripe.org/search/lookup/?q=CSVBulkLoader&module=sapphire [R=301,L]
RewriteRule ^currencyfield$ http://api.silverstripe.org/search/lookup/?q=CurrencyField&module=sapphire [R=301,L]
RewriteRule ^daily-builds$ http://doc.silverstripe.org/old/daily-builds [R=301,L]
RewriteRule ^data-types$ http://doc.silverstripe.org/framework/en/topics/data-types [R=301,L]
RewriteRule ^database-structure$ http://doc.silverstripe.org/framework/en/reference/database-structure [R=301,L]
RewriteRule ^database-troubleshooting$ http://doc.silverstripe.org/framework/en/reference/database-troubleshooting [R=301,L]
RewriteRule ^datamodel$ http://doc.silverstripe.org/framework/en/topics/datamodel [R=301,L]
RewriteRule ^dataobject$ http://doc.silverstripe.org/framework/en/reference/dataobject [R=301,L]
RewriteRule ^dataobjectdecorator$ http://doc.silverstripe.org/framework/en/reference/dataobjectdecorator [R=301,L]
RewriteRule ^dataobjectset$ http://doc.silverstripe.org/framework/en/reference/dataobjectset [R=301,L]
RewriteRule ^datefield$ http://api.silverstripe.org/search/lookup/?q=DateField&module=sapphire [R=301,L]
RewriteRule ^debugging$ http://doc.silverstripe.org/framework/en/topics/debugging [R=301,L]
RewriteRule ^deprecation$ http://doc.silverstripe.org/framework/en/misc/release-process [R=301,L]
RewriteRule ^director$ http://api.silverstripe.org/search/lookup/?q=Director&module=sapphire [R=301,L]
RewriteRule ^directory-structure$ http://doc.silverstripe.org/framework/en/topics/directory-structure [R=301,L]
RewriteRule ^documentation-guidelines$ http://doc.silverstripe.org/framework/en/misc/contributing [R=301,L]
RewriteRule ^dropdownfield$ http://api.silverstripe.org/search/lookup/?q=DropdownField&module=sapphire [R=301,L]
RewriteRule ^ecommercerole$ http://doc.silverstripe.org/old/ecommercerole [R=301,L]
RewriteRule ^email$ http://doc.silverstripe.org/framework/en/topics/email [R=301,L]
RewriteRule ^emailfield$ http://api.silverstripe.org/search/lookup/?q=EmailField&module=sapphire [R=301,L]
RewriteRule ^environment-management$ http://doc.silverstripe.org/framework/en/topics/environment-management [R=301,L]
RewriteRule ^error-handling$ http://doc.silverstripe.org/framework/en/topics/error-handling [R=301,L]
RewriteRule ^escape-types$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
RewriteRule ^fieldgroup$ http://api.silverstripe.org/search/lookup/?q=FieldGroup&module=sapphire [R=301,L]
RewriteRule ^filefield$ http://api.silverstripe.org/search/lookup/?q=FileField&module=sapphire [R=301,L]
RewriteRule ^flickrservice$ http://doc.silverstripe.org/old/flickrservice [R=301,L]
RewriteRule ^form$ http://doc.silverstripe.org/framework/en/topics/forms [R=301,L]
RewriteRule ^form-field-types$ http://doc.silverstripe.org/framework/en/reference/form-field-types [R=301,L]
RewriteRule ^form-validation$ http://doc.silverstripe.org/framework/en/topics/form-validation [R=301,L]
RewriteRule ^formaction$ http://api.silverstripe.org/search/lookup/?q=FormAction&module=sapphire [R=301,L]
RewriteRule ^functionaltest$ http://api.silverstripe.org/search/lookup/?q=FunctionalTest&module=sapphire [R=301,L]
RewriteRule ^framework/en/trunk/misc/collaboration-on-git http://doc.silverstripe.org/framework/en/trunk/misc/contributing/code [R=301,L]
RewriteRule ^gsoc$ http://doc.silverstripe.org/old/gsoc [R=301,L]
RewriteRule ^hasmanycomplextablefield$ http://api.silverstripe.org/search/lookup/?q=HasManyComplexTableField&module=sapphire [R=301,L]
RewriteRule ^hasonecomplextablefield$ http://api.silverstripe.org/search/lookup/?q=HasOneComplexTableField&module=sapphire [R=301,L]
RewriteRule ^headerfield$ http://api.silverstripe.org/search/lookup/?q=HeaderField&module=sapphire [R=301,L]
RewriteRule ^head_office_boston_ma_-can_never_forget$ http://doc.silverstripe.org/old/head_office_boston_ma_-can_never_forget [R=301,L]
RewriteRule ^hiddenfield$ http://api.silverstripe.org/search/lookup/?q=HiddenField&module=sapphire [R=301,L]
RewriteRule ^hide-ancestor$ http://doc.silverstripe.org/old/hide-ancestor [R=301,L]
RewriteRule ^hierarchy$ http://api.silverstripe.org/search/lookup/?q=Hierarchy&module=sapphire [R=301,L]
RewriteRule ^how-page-security-works$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
RewriteRule ^html$ http://doc.silverstripe.org/framework/en/topics/theme-development [R=301,L]
RewriteRule ^htmleditorconfig$ http://api.silverstripe.org/search/lookup/?q=HTMLEditorConfig&module=sapphire [R=301,L]
RewriteRule ^htmleditorfield$ http://api.silverstripe.org/search/lookup/?q=HTMLEditorField&module=sapphire [R=301,L]
RewriteRule ^i18n$ http://doc.silverstripe.org/framework/en/topics/i18n [R=301,L]
RewriteRule ^image$ http://doc.silverstripe.org/framework/en/reference/image [R=301,L]
RewriteRule ^imagefield$ http://api.silverstripe.org/search/lookup/?q=ImageField&module=sapphire [R=301,L]
RewriteRule ^installation$ http://doc.silverstripe.org/framework/en/ [R=301,L]
RewriteRule ^installation-on-lighttpd$ http://doc.silverstripe.org/framework/en/installation/lighttpd [R=301,L]
RewriteRule ^installation-on-mac-osx$ http://doc.silverstripe.org/framework/en/installation/mac-osx [R=301,L]
RewriteRule ^installation-on-nginx$ http://doc.silverstripe.org/framework/en/installation/nginx [R=301,L]
RewriteRule ^installation-on-webserver$ http://doc.silverstripe.org/framework/en/installation/webserver [R=301,L]
RewriteRule ^installation-on-windows-manual-iis$ http://doc.silverstripe.org/framework/en/installation/windows-manual-iis [R=301,L]
RewriteRule ^installation-on-windows-server-2003-iis-6$ http://doc.silverstripe.org/framework/en/installation/windows-manual-iis [R=301,L]
RewriteRule ^installation-on-windows-pi$ http://doc.silverstripe.org/framework/en/installation/windows-pi [R=301,L]
RewriteRule ^installation-on-windows-wamp$ http://doc.silverstripe.org/framework/en/installation/windows-wamp [R=301,L]
RewriteRule ^installing-modules$ http://doc.silverstripe.org/framework/en/topics/modules [R=301,L]
RewriteRule ^javascript$ http://doc.silverstripe.org/framework/en/reference/javascript [R=301,L]
RewriteRule ^jquery$ http://doc.silverstripe.org/framework/en/reference/javascript [R=301,L]
RewriteRule ^labelfield$ http://api.silverstripe.org/search/lookup/?q=LabelField&module=sapphire [R=301,L]
RewriteRule ^languagedropdownfield$ http://api.silverstripe.org/search/lookup/?q=LanguageDropdownField&module=sapphire [R=301,L]
RewriteRule ^leftandmain$ http://doc.silverstripe.org/framework/en/reference/leftandmain [R=301,L]
RewriteRule ^listboxfield$ http://api.silverstripe.org/search/lookup/?q=ListBoxField&module=sapphire [R=301,L]
RewriteRule ^literalfield$ http://api.silverstripe.org/search/lookup/?q=LiteralField&module=sapphire [R=301,L]
RewriteRule ^manifestbuilder$ http://api.silverstripe.org/search/lookup/?q=ManifestBuilder&module=sapphire [R=301,L]
RewriteRule ^member$ http://doc.silverstripe.org/framework/en/reference/member [R=301,L]
RewriteRule ^modeladmin$ http://doc.silverstripe.org/framework/en/reference/modeladmin [R=301,L]
RewriteRule ^module-maintainers$ http://doc.silverstripe.org/framework/en/misc/module-release-process [R=301,L]
RewriteRule ^module-releases$ http://doc.silverstripe.org/framework/en/misc/module-release-process [R=301,L]
RewriteRule ^module:external-content$ http://doc.silverstripe.org/old/module:external-content [R=301,L]
RewriteRule ^module:external-content-alfresco-connector$ http://doc.silverstripe.org/old/module:external-content-alfresco-connector [R=301,L]
RewriteRule ^module:external-content-newconnector$ http://doc.silverstripe.org/old/module:external-content-newconnector [R=301,L]
RewriteRule ^module:external-content-quickstart$ http://doc.silverstripe.org/old/module:external-content-quickstart [R=301,L]
RewriteRule ^module:filesystem-connector$ http://doc.silverstripe.org/old/module:filesystem-connector [R=301,L]
RewriteRule ^module:simplewiki$ http://doc.silverstripe.org/old/module:simplewiki [R=301,L]
RewriteRule ^modules:auth_ext_ad$ http://doc.silverstripe.org/old/modules:auth_ext_ad [R=301,L]
RewriteRule ^modules:auth_ext_drivers$ http://doc.silverstripe.org/old/modules:auth_ext_drivers [R=301,L]
RewriteRule ^modules:auth_ext_ldap$ http://doc.silverstripe.org/old/modules:auth_ext_ldap [R=301,L]
RewriteRule ^modules:blog$ http://doc.silverstripe.org/old/modules:blog [R=301,L]
RewriteRule ^modules:bulkuploaderfield$ http://doc.silverstripe.org/old/modules:bulkuploaderfield [R=301,L]
RewriteRule ^modules:calendar$ http://doc.silverstripe.org/old/modules:calendar [R=301,L]
RewriteRule ^modules:cmsworkflow$ http://doc.silverstripe.org/old/modules:cmsworkflow [R=301,L]
RewriteRule ^modules:dataobjectmanager$ http://doc.silverstripe.org/old/modules:dataobjectmanager [R=301,L]
RewriteRule ^modules:dbplumber$ http://doc.silverstripe.org/old/modules:dbplumber [R=301,L]
RewriteRule ^modules:diary$ http://doc.silverstripe.org/old/modules:diary [R=301,L]
RewriteRule ^modules:ecommerce$ http://doc.silverstripe.org/old/modules:ecommerce [R=301,L]
RewriteRule ^modules:embargoexpiry$ http://doc.silverstripe.org/old/modules:embargoexpiry [R=301,L]
RewriteRule ^modules:events$ http://doc.silverstripe.org/old/modules:events [R=301,L]
RewriteRule ^modules:event_calendar$ http://doc.silverstripe.org/old/modules:event_calendar [R=301,L]
RewriteRule ^modules:external-authentication$ http://doc.silverstripe.org/old/modules:external-authentication [R=301,L]
RewriteRule ^modules:flickrgallery$ http://doc.silverstripe.org/old/modules:flickrgallery [R=301,L]
RewriteRule ^modules:flickrservice$ http://doc.silverstripe.org/old/modules:flickrservice [R=301,L]
RewriteRule ^modules:forum$ http://doc.silverstripe.org/old/modules:forum [R=301,L]
RewriteRule ^modules:gallery$ http://doc.silverstripe.org/old/modules:gallery [R=301,L]
RewriteRule ^modules:genericdataadmin$ http://doc.silverstripe.org/old/modules:genericdataadmin [R=301,L]
RewriteRule ^modules:genericviews$ http://doc.silverstripe.org/old/modules:genericviews [R=301,L]
RewriteRule ^modules:geocoderfield$ http://doc.silverstripe.org/old/modules:geocoderfield [R=301,L]
RewriteRule ^modules:gis$ http://doc.silverstripe.org/old/modules:gis [R=301,L]
RewriteRule ^modules:googleanalytics$ http://doc.silverstripe.org/old/modules:googleanalytics [R=301,L]
RewriteRule ^modules:googlesitemaps$ http://doc.silverstripe.org/old/modules:googlesitemaps [R=301,L]
RewriteRule ^modules:hasmanyfilemanager$ http://doc.silverstripe.org/old/modules:hasmanyfilemanager [R=301,L]
RewriteRule ^modules:image_gallery$ http://doc.silverstripe.org/old/modules:image_gallery [R=301,L]
RewriteRule ^modules:intranet$ http://doc.silverstripe.org/old/modules:intranet [R=301,L]
RewriteRule ^modules:maps$ http://doc.silverstripe.org/old/modules:maps [R=301,L]
RewriteRule ^modules:mollom$ http://doc.silverstripe.org/old/modules:mollom [R=301,L]
RewriteRule ^modules:mssql$ http://doc.silverstripe.org/old/modules:mssql [R=301,L]
RewriteRule ^modules:multiform$ http://doc.silverstripe.org/old/modules:multiform [R=301,L]
RewriteRule ^modules:newsletter$ http://doc.silverstripe.org/old/modules:newsletter [R=301,L]
RewriteRule ^modules:polls$ http://doc.silverstripe.org/old/modules:polls [R=301,L]
RewriteRule ^modules:privatemessage$ http://doc.silverstripe.org/old/modules:privatemessage [R=301,L]
RewriteRule ^modules:recaptcha$ http://doc.silverstripe.org/old/modules:recaptcha [R=301,L]
RewriteRule ^modules:securefiles$ http://doc.silverstripe.org/old/modules:securefiles [R=301,L]
RewriteRule ^modules:sharethis$ http://doc.silverstripe.org/old/modules:sharethis [R=301,L]
RewriteRule ^modules:simplehtmleditorfield$ http://doc.silverstripe.org/old/modules:simplehtmleditorfield [R=301,L]
RewriteRule ^modules:simpletreedropdownfield$ http://doc.silverstripe.org/old/modules:simpletreedropdownfield [R=301,L]
RewriteRule ^modules:simplewysiwygfield$ http://doc.silverstripe.org/old/modules:simplewysiwygfield [R=301,L]
RewriteRule ^modules:simple_guestbook$ http://doc.silverstripe.org/old/modules:simple_guestbook [R=301,L]
RewriteRule ^modules:sitetreeimporter$ http://doc.silverstripe.org/old/modules:sitetreeimporter [R=301,L]
RewriteRule ^modules:sortabledataobject$ http://doc.silverstripe.org/old/modules:sortabledataobject [R=301,L]
RewriteRule ^modules:spamprotection$ http://doc.silverstripe.org/old/modules:spamprotection [R=301,L]
RewriteRule ^modules:sphinx$ http://doc.silverstripe.org/old/modules:sphinx [R=301,L]
RewriteRule ^modules:sqlite$ http://doc.silverstripe.org/old/modules:sqlite [R=301,L]
RewriteRule ^modules:staticimporter$ http://doc.silverstripe.org/old/modules:staticimporter [R=301,L]
RewriteRule ^modules:subsites$ http://doc.silverstripe.org/old/modules:subsites [R=301,L]
RewriteRule ^modules:suggestions_field$ http://doc.silverstripe.org/old/modules:suggestions_field [R=301,L]
RewriteRule ^modules:swfuploadfield$ http://doc.silverstripe.org/old/modules:swfuploadfield [R=301,L]
RewriteRule ^modules:tagfield$ http://doc.silverstripe.org/old/modules:tagfield [R=301,L]
RewriteRule ^modules:technoratiservice$ http://doc.silverstripe.org/old/modules:technoratiservice [R=301,L]
RewriteRule ^modules:translation$ http://doc.silverstripe.org/old/modules:translation [R=301,L]
RewriteRule ^modules:userforms$ http://doc.silverstripe.org/old/modules:userforms [R=301,L]
RewriteRule ^modules:youtubeservice$ http://doc.silverstripe.org/old/modules:youtubeservice [R=301,L]
RewriteRule ^multilingualcontent$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
RewriteRule ^numericfield$ http://api.silverstripe.org/search/lookup/?q=NumericField&module=sapphire [R=301,L]
RewriteRule ^object$ http://api.silverstripe.org/search/lookup/?q=Object&module=sapphire [R=301,L]
RewriteRule ^objectmodel$ http://doc.silverstripe.org/framework/en/topics/datamodel [R=301,L]
RewriteRule ^optionsetfield$ http://api.silverstripe.org/search/lookup/?q=OptionSetField&module=sapphire [R=301,L]
RewriteRule ^page$ http://doc.silverstripe.org/framework/en/reference/page-types [R=301,L]
RewriteRule ^page-types$ http://doc.silverstripe.org/framework/en/topics/page-types [R=301,L]
RewriteRule ^pagecomment$ http://api.silverstripe.org/search/lookup/?q=PageComment&module=sapphire [R=301,L]
RewriteRule ^partial-caching$ http://doc.silverstripe.org/framework/en/reference/partial-caching [R=301,L]
RewriteRule ^passwordfield$ http://api.silverstripe.org/search/lookup/?q=PasswordField&module=sapphire [R=301,L]
RewriteRule ^permission$ http://doc.silverstripe.org/framework/en/reference/permission [R=301,L]
RewriteRule ^postale$ http://doc.silverstripe.org/old/postale [R=301,L]
RewriteRule ^readonlyfield$ http://api.silverstripe.org/search/lookup/?q=ReadonlyField&module=sapphire [R=301,L]
RewriteRule ^recipes:adding_metatags$ http://doc.silverstripe.org/old/recipes:adding_metatags [R=301,L]
RewriteRule ^recipes:ajax_basics$ http://doc.silverstripe.org/old/recipes:ajax_basics [R=301,L]
RewriteRule ^recipes:alphabetical_dataobjectset$ http://doc.silverstripe.org/old/recipes:alphabetical_dataobjectset [R=301,L]
RewriteRule ^recipes:alternative_sorting_order$ http://doc.silverstripe.org/old/recipes:alternative_sorting_order [R=301,L]
RewriteRule ^recipes:amazing_looking_forms_using_silverstripe_form_default_rendering$ http://doc.silverstripe.org/old/recipes:amazing_looking_forms_using_silverstripe_form_default_rendering [R=301,L]
RewriteRule ^recipes:bookmarklets$ http://doc.silverstripe.org/old/recipes:bookmarklets [R=301,L]
RewriteRule ^recipes:building_a_nice_tree_for_selected_pages$ http://doc.silverstripe.org/old/recipes:building_a_nice_tree_for_selected_pages [R=301,L]
RewriteRule ^recipes:change_site_name_and_tagline$ http://doc.silverstripe.org/old/recipes:change_site_name_and_tagline [R=301,L]
RewriteRule ^recipes:changingfields$ http://doc.silverstripe.org/old/recipes:changingfields [R=301,L]
RewriteRule ^recipes:cheat_sheet$ http://doc.silverstripe.org/old/recipes:cheat_sheet [R=301,L]
RewriteRule ^recipes:combining_files$ http://doc.silverstripe.org/old/recipes:combining_files [R=301,L]
RewriteRule ^recipes:controllers$ http://doc.silverstripe.org/old/recipes:controllers [R=301,L]
RewriteRule ^recipes:customising_image$ http://doc.silverstripe.org/old/recipes:customising_image [R=301,L]
RewriteRule ^recipes:customising_meta_tags$ http://doc.silverstripe.org/old/recipes:customising_meta_tags [R=301,L]
RewriteRule ^recipes:displaying_five_latest_pages_from_multiple_pagetypes$ http://doc.silverstripe.org/old/recipes:displaying_five_latest_pages_from_multiple_pagetypes [R=301,L]
RewriteRule ^recipes:examples_of_creating_and_saving_pages$ http://doc.silverstripe.org/old/recipes:examples_of_creating_and_saving_pages [R=301,L]
RewriteRule ^recipes:example_config_file$ http://doc.silverstripe.org/old/recipes:example_config_file [R=301,L]
RewriteRule ^recipes:example_of_data_object$ http://doc.silverstripe.org/old/recipes:example_of_data_object [R=301,L]
RewriteRule ^recipes:example_of_quotes_on_a_page$ http://doc.silverstripe.org/old/recipes:example_of_quotes_on_a_page [R=301,L]
RewriteRule ^recipes:extending_the_event_calendar$ http://doc.silverstripe.org/old/recipes:extending_the_event_calendar [R=301,L]
RewriteRule ^recipes:final_parent$ http://doc.silverstripe.org/old/recipes:final_parent [R=301,L]
RewriteRule ^recipes:forms$ http://doc.silverstripe.org/old/recipes:forms [R=301,L]
RewriteRule ^recipes:gallery$ http://doc.silverstripe.org/old/recipes:gallery [R=301,L]
RewriteRule ^recipes:grouping_fields_from_your_data_object$ http://doc.silverstripe.org/old/recipes:grouping_fields_from_your_data_object [R=301,L]
RewriteRule ^recipes:installation-into-subversion$ http://doc.silverstripe.org/old/recipes:installation-into-subversion [R=301,L]
RewriteRule ^recipes:loopthroughassets$ http://doc.silverstripe.org/old/recipes:loopthroughassets [R=301,L]
RewriteRule ^recipes:many_many-example$ http://doc.silverstripe.org/old/recipes:many_many-example [R=301,L]
RewriteRule ^recipes:members-only-page$ http://doc.silverstripe.org/old/recipes:members-only-page [R=301,L]
RewriteRule ^recipes:menus_with_different_colour_buttons$ http://doc.silverstripe.org/old/recipes:menus_with_different_colour_buttons [R=301,L]
RewriteRule ^recipes:migratefilemanager$ http://doc.silverstripe.org/old/recipes:migratefilemanager [R=301,L]
RewriteRule ^recipes:multilingual_content$ http://doc.silverstripe.org/old/recipes:multilingual_content [R=301,L]
RewriteRule ^recipes:overriding-loginform$ http://doc.silverstripe.org/old/recipes:overriding-loginform [R=301,L]
RewriteRule ^recipes:page_selection_for_special_menu$ http://doc.silverstripe.org/old/recipes:page_selection_for_special_menu [R=301,L]
RewriteRule ^recipes:pretty_i18n_urls$ http://doc.silverstripe.org/old/recipes:pretty_i18n_urls [R=301,L]
RewriteRule ^recipes:previousornext$ http://doc.silverstripe.org/old/recipes:previousornext [R=301,L]
RewriteRule ^recipes:publishing-to-web-server$ http://doc.silverstripe.org/old/recipes:publishing-to-web-server [R=301,L]
RewriteRule ^recipes:rebranding-the-cms$ http://doc.silverstripe.org/old/recipes:rebranding-the-cms [R=301,L]
RewriteRule ^recipes:removingassetsfromsearch$ http://doc.silverstripe.org/old/recipes:removingassetsfromsearch [R=301,L]
RewriteRule ^recipes:requiredfieldsclass$ http://doc.silverstripe.org/old/recipes:requiredfieldsclass [R=301,L]
RewriteRule ^recipes:retrieving_image_from_your_page$ http://doc.silverstripe.org/old/recipes:retrieving_image_from_your_page [R=301,L]
RewriteRule ^recipes:selecting_pages_with_the_same_grandparent$ http://doc.silverstripe.org/old/recipes:selecting_pages_with_the_same_grandparent [R=301,L]
RewriteRule ^recipes:setting_menu_width_dynamically$ http://doc.silverstripe.org/old/recipes:setting_menu_width_dynamically [R=301,L]
RewriteRule ^recipes:siblings$ http://doc.silverstripe.org/old/recipes:siblings [R=301,L]
RewriteRule ^recipes:simplesignupform$ http://doc.silverstripe.org/old/recipes:simplesignupform [R=301,L]
RewriteRule ^recipes:site-news$ http://doc.silverstripe.org/old/recipes:site-news [R=301,L]
RewriteRule ^recipes:start$ http://doc.silverstripe.org/old/recipes:start [R=301,L]
RewriteRule ^recipes:structural-guidelines$ http://doc.silverstripe.org/old/recipes:structural-guidelines [R=301,L]
RewriteRule ^recipes:syntax-highlighting$ http://doc.silverstripe.org/old/recipes:syntax-highlighting [R=301,L]
RewriteRule ^recipes:typography_overview$ http://doc.silverstripe.org/old/recipes:typography_overview [R=301,L]
RewriteRule ^recipes:update_records_for_a_class_using_code$ http://doc.silverstripe.org/old/recipes:update_records_for_a_class_using_code [R=301,L]
RewriteRule ^recipes:what_to_return_from_a_function$ http://doc.silverstripe.org/old/recipes:what_to_return_from_a_function [R=301,L]
RewriteRule ^recipes:widget-forms-2.3$ http://doc.silverstripe.org/old/recipes:widget-forms-2.3 [R=301,L]
RewriteRule ^releases$ http://doc.silverstripe.org/framework/en/misc/release-process [R=301,L]
RewriteRule ^requirements$ http://doc.silverstripe.org/framework/en/reference/requirements [R=301,L]
RewriteRule ^restfulserver$ http://api.silverstripe.org/search/lookup/?q=RestfulServer&module=sapphire [R=301,L]
RewriteRule ^restfulservice$ http://doc.silverstripe.org/framework/en/reference/restfulservice [R=301,L]
RewriteRule ^rssfeed$ http://doc.silverstripe.org/framework/en/reference/rssfeed [R=301,L]
RewriteRule ^sake$ http://doc.silverstripe.org/framework/en/topics/commandline [R=301,L]
RewriteRule ^searchcontext$ http://doc.silverstripe.org/framework/en/topics/search [R=301,L]
RewriteRule ^searchform$ http://doc.silverstripe.org/framework/en/topics/search [R=301,L]
RewriteRule ^secure-development$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
RewriteRule ^security$ http://doc.silverstripe.org/framework/en/topics/security [R=301,L]
RewriteRule ^security-statement$ http://doc.silverstripe.org/old/security-statement [R=301,L]
RewriteRule ^selectiongroup$ http://api.silverstripe.org/search/lookup/?q=SelectionGroup&module=sapphire [R=301,L]
RewriteRule ^server-requirements$ http://doc.silverstripe.org/framework/en/installation/server-requirements [R=301,L]
RewriteRule ^sessions$ http://api.silverstripe.org/search/lookup/?q=Session&module=sapphire [R=301,L]
RewriteRule ^shortcodes$ http://doc.silverstripe.org/framework/en/reference/bbcode [R=301,L]
RewriteRule ^silverstripe-book-errata$ http://doc.silverstripe.org/old/silverstripe-book-errata [R=301,L]
RewriteRule ^siteconfig$ http://doc.silverstripe.org/framework/en/reference/siteconfig [R=301,L]
RewriteRule ^sitetree$ http://doc.silverstripe.org/framework/en/reference/sitetree [R=301,L]
RewriteRule ^sqlquery$ http://doc.silverstripe.org/framework/en/reference/sqlquery [R=301,L]
RewriteRule ^start$ http://doc.silverstripe.org/framework/en/ [R=301,L]
RewriteRule ^staticexporter$ http://api.silverstripe.org/search/lookup/?q=StaticExporter&module=sapphire [R=301,L]
RewriteRule ^staticpublisher$ http://doc.silverstripe.org/framework/en/reference/staticpublisher [R=301,L]
RewriteRule ^suggested-web-hosts$ http://doc.silverstripe.org/old/suggested-web-hosts [R=301,L]
RewriteRule ^subversion$ http://doc.silverstripe.org/framework/en/installation/from-source [R=301,L]
RewriteRule ^tab$ http://api.silverstripe.org/search/lookup/?q=Tab&module=sapphire [R=301,L]
RewriteRule ^tablefield$ http://doc.silverstripe.org/framework/en/reference/tablefield [R=301,L]
RewriteRule ^tablelistfield$ http://doc.silverstripe.org/framework/en/reference/tablelistfield [R=301,L]
RewriteRule ^tabset$ http://api.silverstripe.org/search/lookup/?q=TabSet&module=sapphire [R=301,L]
RewriteRule ^templates$ http://doc.silverstripe.org/framework/en/topics/templates [R=301,L]
RewriteRule ^testing-guide$ http://doc.silverstripe.org/framework/en/topics/testing/ [R=301,L]
RewriteRule ^testing-guide-glossary$ http://doc.silverstripe.org/framework/en/topics/testing/ [R=301,L]
RewriteRule ^testing-guide-intro$ http://doc.silverstripe.org/framework/en/topics/testing/testing-guide [R=301,L]
RewriteRule ^testing-guide-troubleshooting$ http://doc.silverstripe.org/framework/en/topics/testing/testing-guide-troubleshooting [R=301,L]
RewriteRule ^testing-howto:create-functional-test$ http://doc.silverstripe.org/framework/en/topics/testing/create-functional-test [R=301,L]
RewriteRule ^testing-howto:create-sapphire-test$ http://doc.silverstripe.org/framework/en/topics/testing/create-sapphire-test [R=301,L]
RewriteRule ^testing-howto:test-email-sending$ http://doc.silverstripe.org/framework/en/topics/testing/email-sending [R=301,L]
RewriteRule ^textareafield$ http://api.silverstripe.org/search/lookup/?q=TextAreaField&module=sapphire [R=301,L]
RewriteRule ^textfield$ http://api.silverstripe.org/search/lookup/?q=TextField&module=sapphire [R=301,L]
RewriteRule ^themes$ http://doc.silverstripe.org/framework/en/topics/themes [R=301,L]
RewriteRule ^themes:developing$ http://doc.silverstripe.org/framework/en/topics/theme-development [R=301,L]
RewriteRule ^third-party-packages$ http://doc.silverstripe.org/old/third-party-packages [R=301,L]
RewriteRule ^tools$ http://doc.silverstripe.org/old/tools [R=301,L]
RewriteRule ^tools:dreamweaver$ http://doc.silverstripe.org/old/tools:dreamweaver [R=301,L]
RewriteRule ^tools:eclipse$ http://doc.silverstripe.org/old/tools:eclipse [R=301,L]
RewriteRule ^tools:gedit$ http://doc.silverstripe.org/old/tools:gedit [R=301,L]
RewriteRule ^tools:netbeans$ http://doc.silverstripe.org/old/tools:netbeans [R=301,L]
RewriteRule ^tools:textmate$ http://doc.silverstripe.org/old/tools:textmate [R=301,L]
RewriteRule ^translatable$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
RewriteRule ^translation$ http://doc.silverstripe.org/framework/en/topics/translation [R=301,L]
RewriteRule ^treedropdownfield$ http://api.silverstripe.org/search/lookup/?q=TreeDropdownField&module=sapphire [R=301,L]
RewriteRule ^treemultiselectfield$ http://api.silverstripe.org/search/lookup/?q=TreeMultiSelectField&module=sapphire [R=301,L]
RewriteRule ^tutorial:1-building-a-basic-site$ http://doc.silverstripe.org/framework/en/tutorials/1-building-a-basic-site [R=301,L]
RewriteRule ^tutorial:2-extending-a-basic-site$ http://doc.silverstripe.org/framework/en/tutorials/2-extending-a-basic-site [R=301,L]
RewriteRule ^tutorial:3-forms$ http://doc.silverstripe.org/framework/en/tutorials/3-forms [R=301,L]
RewriteRule ^tutorial:4-site-search$ http://doc.silverstripe.org/framework/en/tutorials/4-site-search [R=301,L]
RewriteRule ^tutorial:5-dataobject-relationship-management$ http://doc.silverstripe.org/framework/en/tutorials/5-dataobject-relationship-management [R=301,L]
RewriteRule ^tutorials$ http://doc.silverstripe.org/framework/en/tutorials/ [R=301,L]
RewriteRule ^tutorials$ http://doc.silverstripe.org/framework/en/tutorials/ [R=301,L]
RewriteRule ^typography$ http://doc.silverstripe.org/framework/en/reference/typography [R=301,L]
RewriteRule ^upgrading$ http://doc.silverstripe.org/framework/en/installation/upgrading [R=301,L]
RewriteRule ^upgrading$ http://doc.silverstripe.org/framework/en/installation/upgrading/ [R=301,L]
RewriteRule ^uploadify$ http://doc.silverstripe.org/old/uploadify [R=301,L]
RewriteRule ^urlvariabletools$ http://doc.silverstripe.org/framework/en/reference/urlvariabletools [R=301,L]
RewriteRule ^validator$ http://api.silverstripe.org/search/lookup/?q=Validator&module=sapphire [R=301,L]
RewriteRule ^versioned$ http://doc.silverstripe.org/framework/en/reference/versioned [R=301,L]
RewriteRule ^videotours$ http://doc.silverstripe.org/old/videotours [R=301,L]
RewriteRule ^virtualpage$ http://api.silverstripe.org/search/lookup/?q=VirtualPage&module=sapphire [R=301,L]
RewriteRule ^widgets$ http://doc.silverstripe.org/framework/en/topics/widgets [R=301,L]
RewriteRule ^buildbot-try-server$ http://doc.silverstripe.org/old/buildbot-try-server [R=301,L]
# Legacy rewrite: Can't use 'master' as it confuses api.ss.org linking
RewriteRule ^framework/en/master(.*) http://doc.silverstripe.org/framework/en/trunk$1 [R=301,L]
# Legacy rewrite: sapphire should point to framework
RewriteRule ^sapphire(.*) http://doc.silverstripe.org/framework$1 [R=301,L]
# Anything in sapphire/en/<version>/misc is redirected to trunk, the info in there is usually not version specific,
# and only updated on master (e.g. contribution and coding guidelines)
RewriteRule ^framework/en/misc/?(.*) http://doc.silverstripe.org/framework/en/trunk/misc/$1 [R=301,L]
RewriteRule ^framework/en/[\d.]*/misc/?(.*) http://doc.silverstripe.org/framework/en/trunk/misc/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html
FileETag INode MTime
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/* "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/x-javascript "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
</IfModule>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>