Redirects

This commit is contained in:
Aaron Carlino 2019-12-13 16:48:27 +13:00
parent 3c1bb577fd
commit b7c32a3a6a
3 changed files with 467 additions and 2 deletions

434
_redirects Normal file
View File

@ -0,0 +1,434 @@
### This file is auto-generated. Do not modify ###
/en/ /en/4/
/en/getting_started/environment_management/ /en/4/getting_started/environment_management/
/en/getting_started/directory_structure/ /en/4/getting_started/directory_structure/
/en/getting_started/ /en/4/getting_started/
/en/lessons/ /en/4/lessons/
/en/developer_guides/ /en/4/developer_guides/
/en/changelogs/3.6.7/ /en/4/changelogs/3.6.7/
/en/changelogs/3.7.3/ /en/4/changelogs/3.7.3/
/en/changelogs/4.0.3/ /en/4/changelogs/4.0.3/
/en/changelogs/4.0.4/ /en/4/changelogs/4.0.4/
/en/changelogs/4.0.6/ /en/4/changelogs/4.0.6/
/en/changelogs/4.0.7/ /en/4/changelogs/4.0.7/
/en/changelogs/4.1.1/ /en/4/changelogs/4.1.1/
/en/changelogs/4.1.3/ /en/4/changelogs/4.1.3/
/en/changelogs/4.1.4/ /en/4/changelogs/4.1.4/
/en/changelogs/4.1.5/ /en/4/changelogs/4.1.5/
/en/changelogs/4.2.1/ /en/4/changelogs/4.2.1/
/en/changelogs/4.2.3/ /en/4/changelogs/4.2.3/
/en/changelogs/4.2.4/ /en/4/changelogs/4.2.4/
/en/changelogs/4.2.5/ /en/4/changelogs/4.2.5/
/en/changelogs/4.3.1/ /en/4/changelogs/4.3.1/
/en/changelogs/4.3.3/ /en/4/changelogs/4.3.3/
/en/changelogs/4.3.4/ /en/4/changelogs/4.3.4/
/en/changelogs/4.4.2/ /en/4/changelogs/4.4.2/
/en/changelogs/4.4.3/ /en/4/changelogs/4.4.3/
/en/changelogs/4.4.4/ /en/4/changelogs/4.4.4/
/en/changelogs/4.5.0/ /en/4/changelogs/4.5.0/
/en/changelogs/ /en/4/changelogs/
/en/contributing/issues_and_bugs/ /en/4/contributing/issues_and_bugs/
/en/contributing/request_for_comment/ /en/4/contributing/request_for_comment/
/en/contributing/build_tooling/ /en/4/contributing/build_tooling/
/en/contributing/translation_process/ /en/4/contributing/translation_process/
/en/contributing/core_committers/ /en/4/contributing/core_committers/
/en/contributing/code_of_conduct/ /en/4/contributing/code_of_conduct/
/en/contributing/coding_conventions/ /en/4/contributing/coding_conventions/
/en/contributing/javascript_coding_conventions/ /en/4/contributing/javascript_coding_conventions/
/en/contributing/css_coding_conventions/ /en/4/contributing/css_coding_conventions/
/en/contributing/php_coding_conventions/ /en/4/contributing/php_coding_conventions/
/en/contributing/ /en/4/contributing/
/en/developer_guides/model/lists/ /en/4/developer_guides/model/lists/
/en/developer_guides/model/extending_dataobjects/ /en/4/developer_guides/model/extending_dataobjects/
/en/developer_guides/model/permissions/ /en/4/developer_guides/model/permissions/
/en/developer_guides/model/searchfilters/ /en/4/developer_guides/model/searchfilters/
/en/developer_guides/model/scaffolding/ /en/4/developer_guides/model/scaffolding/
/en/developer_guides/model/validation/ /en/4/developer_guides/model/validation/
/en/developer_guides/model/indexes/ /en/4/developer_guides/model/indexes/
/en/developer_guides/model/ /en/4/developer_guides/model/
/en/developer_guides/templates/rendering_templates/ /en/4/developer_guides/templates/rendering_templates/
/en/developer_guides/templates/template_inheritance/ /en/4/developer_guides/templates/template_inheritance/
/en/developer_guides/templates/themes/ /en/4/developer_guides/templates/themes/
/en/developer_guides/templates/caching/ /en/4/developer_guides/templates/caching/
/en/developer_guides/templates/translations/ /en/4/developer_guides/templates/translations/
/en/developer_guides/templates/casting/ /en/4/developer_guides/templates/casting/
/en/developer_guides/templates/ /en/4/developer_guides/templates/
/en/developer_guides/controllers/introduction/ /en/4/developer_guides/controllers/introduction/
/en/developer_guides/controllers/routing/ /en/4/developer_guides/controllers/routing/
/en/developer_guides/controllers/redirection/ /en/4/developer_guides/controllers/redirection/
/en/developer_guides/controllers/middlewares/ /en/4/developer_guides/controllers/middlewares/
/en/developer_guides/controllers/access_control/ /en/4/developer_guides/controllers/access_control/
/en/developer_guides/controllers/builtin_middlewares/ /en/4/developer_guides/controllers/builtin_middlewares/
/en/developer_guides/controllers/ /en/4/developer_guides/controllers/
/en/developer_guides/forms/form_templates/ /en/4/developer_guides/forms/form_templates/
/en/developer_guides/forms/form_security/ /en/4/developer_guides/forms/form_security/
/en/developer_guides/forms/form_transformations/ /en/4/developer_guides/forms/form_transformations/
/en/developer_guides/forms/tabbed_forms/ /en/4/developer_guides/forms/tabbed_forms/
/en/developer_guides/forms/ /en/4/developer_guides/forms/
/en/developer_guides/configuration/siteconfig/ /en/4/developer_guides/configuration/siteconfig/
/en/developer_guides/configuration/environment_variables/ /en/4/developer_guides/configuration/environment_variables/
/en/developer_guides/configuration/ /en/4/developer_guides/configuration/
/en/developer_guides/extending/modules/ /en/4/developer_guides/extending/modules/
/en/developer_guides/extending/shortcodes/ /en/4/developer_guides/extending/shortcodes/
/en/developer_guides/extending/templates/ /en/4/developer_guides/extending/templates/
/en/developer_guides/extending/aspects/ /en/4/developer_guides/extending/aspects/
/en/developer_guides/extending/ /en/4/developer_guides/extending/
/en/developer_guides/testing/unit_testing/ /en/4/developer_guides/testing/unit_testing/
/en/developer_guides/testing/behavior_testing/ /en/4/developer_guides/testing/behavior_testing/
/en/developer_guides/testing/functional_testing/ /en/4/developer_guides/testing/functional_testing/
/en/developer_guides/testing/testing_glossary/ /en/4/developer_guides/testing/testing_glossary/
/en/developer_guides/testing/ /en/4/developer_guides/testing/
/en/developer_guides/debugging/environment_types/ /en/4/developer_guides/debugging/environment_types/
/en/developer_guides/debugging/url_variable_tools/ /en/4/developer_guides/debugging/url_variable_tools/
/en/developer_guides/debugging/ /en/4/developer_guides/debugging/
/en/developer_guides/debugging/template_debugging/ /en/4/developer_guides/debugging/template_debugging/
/en/developer_guides/performance/profiling/ /en/4/developer_guides/performance/profiling/
/en/developer_guides/performance/static_publishing/ /en/4/developer_guides/performance/static_publishing/
/en/developer_guides/performance/resource_usage/ /en/4/developer_guides/performance/resource_usage/
/en/developer_guides/performance/ /en/4/developer_guides/performance/
/en/developer_guides/security/member/ /en/4/developer_guides/security/member/
/en/developer_guides/security/access_control/ /en/4/developer_guides/security/access_control/
/en/developer_guides/security/permissions/ /en/4/developer_guides/security/permissions/
/en/developer_guides/security/rate_limiting/ /en/4/developer_guides/security/rate_limiting/
/en/developer_guides/security/ /en/4/developer_guides/security/
/en/developer_guides/email/ /en/4/developer_guides/email/
/en/developer_guides/security/personal_data/ /en/4/developer_guides/security/personal_data/
/en/developer_guides/integration/csv_import/ /en/4/developer_guides/integration/csv_import/
/en/developer_guides/integration/rssfeed/ /en/4/developer_guides/integration/rssfeed/
/en/developer_guides/search/searchcontext/ /en/4/developer_guides/search/searchcontext/
/en/developer_guides/integration/ /en/4/developer_guides/integration/
/en/developer_guides/search/fulltextsearch/ /en/4/developer_guides/search/fulltextsearch/
/en/developer_guides/search/ /en/4/developer_guides/search/
/en/developer_guides/files/file_storage/ /en/4/developer_guides/files/file_storage/
/en/developer_guides/files/ /en/4/developer_guides/files/
/en/developer_guides/customising_the_admin_interface/cms_layout/ /en/4/developer_guides/customising_the_admin_interface/cms_layout/
/en/developer_guides/customising_the_admin_interface/preview/ /en/4/developer_guides/customising_the_admin_interface/preview/
/en/developer_guides/customising_the_admin_interface/typography/ /en/4/developer_guides/customising_the_admin_interface/typography/
/en/developer_guides/customising_the_admin_interface/ /en/4/developer_guides/customising_the_admin_interface/
/en/developer_guides/execution_pipeline/flushable/ /en/4/developer_guides/execution_pipeline/flushable/
/en/developer_guides/execution_pipeline/manifests/ /en/4/developer_guides/execution_pipeline/manifests/
/en/developer_guides/execution_pipeline/ /en/4/developer_guides/execution_pipeline/
/en/developer_guides/execution_pipeline/app_object_and_kernel/ /en/4/developer_guides/execution_pipeline/app_object_and_kernel/
/en/developer_guides/cli/ /en/4/developer_guides/cli/
/en/developer_guides/cookies_and_sessions/cookies/ /en/4/developer_guides/cookies_and_sessions/cookies/
/en/developer_guides/cookies_and_sessions/sessions/ /en/4/developer_guides/cookies_and_sessions/sessions/
/en/developer_guides/cookies_and_sessions/ /en/4/developer_guides/cookies_and_sessions/
/en/changelogs/alpha/4.0.0-alpha2/ /en/4/changelogs/alpha/4.0.0-alpha2/
/en/changelogs/rc/4.0.0-rc2/ /en/4/changelogs/rc/4.0.0-rc2/
/en/changelogs/rc/4.0.0-rc3/ /en/4/changelogs/rc/4.0.0-rc3/
/en/changelogs/rc/4.1.0-rc2/ /en/4/changelogs/rc/4.1.0-rc2/
/en/developer_guides/model/how_tos/dynamic_default_fields/ /en/4/developer_guides/model/how_tos/dynamic_default_fields/
/en/developer_guides/model/how_tos/ /en/4/developer_guides/model/how_tos/
/en/developer_guides/model/how_tos/grouping_dataobject_sets/ /en/4/developer_guides/model/how_tos/grouping_dataobject_sets/
/en/developer_guides/templates/how_tos/pagination/ /en/4/developer_guides/templates/how_tos/pagination/
/en/developer_guides/templates/how_tos/navigation_menu/ /en/4/developer_guides/templates/how_tos/navigation_menu/
/en/developer_guides/templates/how_tos/disable_anchor_links/ /en/4/developer_guides/templates/how_tos/disable_anchor_links/
/en/developer_guides/forms/field_types/datefield/ /en/4/developer_guides/forms/field_types/datefield/
/en/developer_guides/forms/field_types/common_subclasses/ /en/4/developer_guides/forms/field_types/common_subclasses/
/en/developer_guides/forms/field_types/ /en/4/developer_guides/forms/field_types/
/en/developer_guides/forms/how_tos/encapsulate_forms/ /en/4/developer_guides/forms/how_tos/encapsulate_forms/
/en/developer_guides/forms/how_tos/create_a_gridfieldcomponent/ /en/4/developer_guides/forms/how_tos/create_a_gridfieldcomponent/
/en/developer_guides/forms/how_tos/lightweight_form/ /en/4/developer_guides/forms/how_tos/lightweight_form/
/en/developer_guides/templates/how_tos/ /en/4/developer_guides/templates/how_tos/
/en/developer_guides/forms/how_tos/simple_contact_form/ /en/4/developer_guides/forms/how_tos/simple_contact_form/
/en/developer_guides/forms/how_tos/ /en/4/developer_guides/forms/how_tos/
/en/developer_guides/extending/how_tos/publish_a_module/ /en/4/developer_guides/extending/how_tos/publish_a_module/
/en/developer_guides/extending/how_tos/create_a_google_maps_shortcode/ /en/4/developer_guides/extending/how_tos/create_a_google_maps_shortcode/
/en/developer_guides/extending/how_tos/track_member_logins/ /en/4/developer_guides/extending/how_tos/track_member_logins/
/en/developer_guides/extending/how_tos/ /en/4/developer_guides/extending/how_tos/
/en/developer_guides/testing/how_tos/write_a_sapphiretest/ /en/4/developer_guides/testing/how_tos/write_a_sapphiretest/
/en/developer_guides/testing/how_tos/write_a_functionaltest/ /en/4/developer_guides/testing/how_tos/write_a_functionaltest/
/en/developer_guides/testing/how_tos/fixturefactories/ /en/4/developer_guides/testing/how_tos/fixturefactories/
/en/developer_guides/testing/how_tos/testing_email/ /en/4/developer_guides/testing/how_tos/testing_email/
/en/developer_guides/testing/how_tos/ /en/4/developer_guides/testing/how_tos/
/en/developer_guides/integration/how_tos/import_csv_through_a_controller/ /en/4/developer_guides/integration/how_tos/import_csv_through_a_controller/
/en/developer_guides/integration/how_tos/custom_csvbulkloader/ /en/4/developer_guides/integration/how_tos/custom_csvbulkloader/
/en/developer_guides/integration/how_tos/ /en/4/developer_guides/integration/how_tos/
/en/developer_guides/customising_the_admin_interface/how_tos/cms_alternating_button/ /en/4/developer_guides/customising_the_admin_interface/how_tos/cms_alternating_button/
/en/developer_guides/customising_the_admin_interface/how_tos/cms_formfield_help_text/ /en/4/developer_guides/customising_the_admin_interface/how_tos/cms_formfield_help_text/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_cms_menu/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_cms_menu/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_cms_pages_list/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_cms_pages_list/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_cms_tree/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_cms_tree/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_react_components/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_react_components/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_react_forms/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_react_forms/
/en/developer_guides/customising_the_admin_interface/how_tos/customise_site_reports/ /en/4/developer_guides/customising_the_admin_interface/how_tos/customise_site_reports/
/en/developer_guides/customising_the_admin_interface/how_tos/extending_an_existing_modeladmin/ /en/4/developer_guides/customising_the_admin_interface/how_tos/extending_an_existing_modeladmin/
/en/developer_guides/customising_the_admin_interface/how_tos/ /en/4/developer_guides/customising_the_admin_interface/how_tos/
/en/getting_started/server_requirements/ /en/4/getting_started/server_requirements/
/en/upgrading/upgrading_module/ /en/4/upgrading/upgrading_module/
/en/changelogs/4.0.1/ /en/4/changelogs/4.0.1/
/en/changelogs/4.0.2/ /en/4/changelogs/4.0.2/
/en/changelogs/4.1.2/ /en/4/changelogs/4.1.2/
/en/changelogs/4.2.2/ /en/4/changelogs/4.2.2/
/en/changelogs/4.3.6/ /en/4/changelogs/4.3.6/
/en/changelogs/4.4.1/ /en/4/changelogs/4.4.1/
/en/contributing/code/ /en/4/contributing/code/
/en/contributing/release_process/ /en/4/contributing/release_process/
/en/contributing/documentation/ /en/4/contributing/documentation/
/en/contributing/translations/ /en/4/contributing/translations/
/en/developer_guides/model/data_types_and_casting/ /en/4/developer_guides/model/data_types_and_casting/
/en/developer_guides/model/sql_select/ /en/4/developer_guides/model/sql_select/
/en/developer_guides/templates/common_variables/ /en/4/developer_guides/templates/common_variables/
/en/developer_guides/templates/syntax/ /en/4/developer_guides/templates/syntax/
/en/developer_guides/forms/introduction/ /en/4/developer_guides/forms/introduction/
/en/developer_guides/forms/validation/ /en/4/developer_guides/forms/validation/
/en/developer_guides/configuration/configuration/ /en/4/developer_guides/configuration/configuration/
/en/developer_guides/extending/extensions/ /en/4/developer_guides/extending/extensions/
/en/developer_guides/extending/injector/ /en/4/developer_guides/extending/injector/
/en/developer_guides/testing/fixtures/ /en/4/developer_guides/testing/fixtures/
/en/developer_guides/debugging/error_handling/ /en/4/developer_guides/debugging/error_handling/
/en/developer_guides/performance/partial_caching/ /en/4/developer_guides/performance/partial_caching/
/en/developer_guides/performance/caching/ /en/4/developer_guides/performance/caching/
/en/developer_guides/performance/http_cache_headers/ /en/4/developer_guides/performance/http_cache_headers/
/en/developer_guides/security/authentication/ /en/4/developer_guides/security/authentication/
/en/developer_guides/files/images/ /en/4/developer_guides/files/images/
/en/developer_guides/files/file_management/ /en/4/developer_guides/files/file_management/
/en/developer_guides/customising_the_admin_interface/modeladmin/ /en/4/developer_guides/customising_the_admin_interface/modeladmin/
/en/changelogs/rc/4.0.1-rc1/ /en/4/changelogs/rc/4.0.1-rc1/
/en/developer_guides/forms/field_types/htmleditorfield/ /en/4/developer_guides/forms/field_types/htmleditorfield/
/en/developer_guides/forms/how_tos/create_a_gridfield_actionprovider/ /en/4/developer_guides/forms/how_tos/create_a_gridfield_actionprovider/
/en/developer_guides/customising_the_admin_interface/how_tos/extend_cms_interface/ /en/4/developer_guides/customising_the_admin_interface/how_tos/extend_cms_interface/
/en/getting_started/composer/ /en/4/getting_started/composer/
/en/changelogs/4.0.5/ /en/4/changelogs/4.0.5/
/en/changelogs/4.3.2/ /en/4/changelogs/4.3.2/
/en/developer_guides/model/data_model_and_orm/ /en/4/developer_guides/model/data_model_and_orm/
/en/developer_guides/model/relations/ /en/4/developer_guides/model/relations/
/en/developer_guides/templates/requirements/ /en/4/developer_guides/templates/requirements/
/en/developer_guides/files/file_migration/ /en/4/developer_guides/files/file_migration/
/en/developer_guides/files/file_security/ /en/4/developer_guides/files/file_security/
/en/developer_guides/i18n/ /en/4/developer_guides/i18n/
/en/developer_guides/customising_the_admin_interface/javascript_development/ /en/4/developer_guides/customising_the_admin_interface/javascript_development/
/en/changelogs/alpha/4.0.0-alpha3/ /en/4/changelogs/alpha/4.0.0-alpha3/
/en/changelogs/rc/4.1.0-rc1/ /en/4/changelogs/rc/4.1.0-rc1/
/en/developer_guides/forms/field_types/gridfield/ /en/4/developer_guides/forms/field_types/gridfield/
/en/contributing/making_a_silverstripe_core_release/ /en/4/contributing/making_a_silverstripe_core_release/
/en/changelogs/alpha/4.5.0-alpha1/ /en/4/changelogs/alpha/4.5.0-alpha1/
/en/changelogs/beta/4.0.0-beta2/ /en/4/changelogs/beta/4.0.0-beta2/
/en/changelogs/beta/4.0.0-beta3/ /en/4/changelogs/beta/4.0.0-beta3/
/en/changelogs/beta/4.0.0-beta4/ /en/4/changelogs/beta/4.0.0-beta4/
/en/changelogs/rc/4.5.0-rc1/ /en/4/changelogs/rc/4.5.0-rc1/
/en/developer_guides/security/secure_coding/ /en/4/developer_guides/security/secure_coding/
/en/developer_guides/customising_the_admin_interface/cms_architecture/ /en/4/developer_guides/customising_the_admin_interface/cms_architecture/
/en/changelogs/alpha/4.0.0-alpha4/ /en/4/changelogs/alpha/4.0.0-alpha4/
/en/changelogs/beta/4.2.0-beta1/ /en/4/changelogs/beta/4.2.0-beta1/
/en/changelogs/4.1.0/ /en/4/changelogs/4.1.0/
/en/changelogs/4.3.0/ /en/4/changelogs/4.3.0/
/en/developer_guides/model/versioning/ /en/4/developer_guides/model/versioning/
/en/developer_guides/customising_the_admin_interface/reactjs_redux_and_graphql/ /en/4/developer_guides/customising_the_admin_interface/reactjs_redux_and_graphql/
/en/upgrading/upgrading_project/ /en/4/upgrading/upgrading_project/
/en/upgrading/ /en/4/upgrading/
/en/changelogs/4.2.0/ /en/4/changelogs/4.2.0/
/en/changelogs/rc/4.3.0-rc1/ /en/4/changelogs/rc/4.3.0-rc1/
/en/changelogs/rc/4.4.0-rc1/ /en/4/changelogs/rc/4.4.0-rc1/
/en/changelogs/4.4.0/ /en/4/changelogs/4.4.0/
/en/changelogs/alpha/4.0.0-alpha1/ /en/4/changelogs/alpha/4.0.0-alpha1/
/en/changelogs/alpha/4.0.0-alpha5/ /en/4/changelogs/alpha/4.0.0-alpha5/
/en/changelogs/alpha/4.0.0-alpha6/ /en/4/changelogs/alpha/4.0.0-alpha6/
/en/changelogs/alpha/4.0.0-alpha7/ /en/4/changelogs/alpha/4.0.0-alpha7/
/en/changelogs/beta/4.0.0-beta1/ /en/4/changelogs/beta/4.0.0-beta1/
/en/changelogs/rc/4.0.0-rc1/ /en/4/changelogs/rc/4.0.0-rc1/
/en/changelogs/4.0.0/ /en/4/changelogs/4.0.0/
/en/tutorials/ /en/3/tutorials/
/en/getting_started/installation/linux_unix/ /en/3/getting_started/installation/linux_unix/
/en/getting_started/installation/mac_osx/ /en/3/getting_started/installation/mac_osx/
/en/tutorials/site_search/ /en/3/tutorials/site_search/
/en/getting_started/installation/windows/ /en/3/getting_started/installation/windows/
/en/getting_started/installation/common_problems/ /en/3/getting_started/installation/common_problems/
/en/getting_started/installation/ /en/3/getting_started/installation/
/en/changelogs/3.0.10/ /en/3/changelogs/3.0.10/
/en/changelogs/3.0.11/ /en/3/changelogs/3.0.11/
/en/changelogs/3.0.5/ /en/3/changelogs/3.0.5/
/en/changelogs/3.0.6/ /en/3/changelogs/3.0.6/
/en/changelogs/3.0.7/ /en/3/changelogs/3.0.7/
/en/changelogs/3.0.8/ /en/3/changelogs/3.0.8/
/en/changelogs/3.0.9/ /en/3/changelogs/3.0.9/
/en/changelogs/3.1.1/ /en/3/changelogs/3.1.1/
/en/changelogs/3.1.10/ /en/3/changelogs/3.1.10/
/en/changelogs/3.1.11/ /en/3/changelogs/3.1.11/
/en/changelogs/3.1.14/ /en/3/changelogs/3.1.14/
/en/changelogs/3.1.16/ /en/3/changelogs/3.1.16/
/en/changelogs/3.1.17/ /en/3/changelogs/3.1.17/
/en/changelogs/3.1.15/ /en/3/changelogs/3.1.15/
/en/changelogs/3.1.12/ /en/3/changelogs/3.1.12/
/en/changelogs/3.1.18/ /en/3/changelogs/3.1.18/
/en/changelogs/3.1.13/ /en/3/changelogs/3.1.13/
/en/changelogs/3.1.21/ /en/3/changelogs/3.1.21/
/en/changelogs/3.1.20/ /en/3/changelogs/3.1.20/
/en/changelogs/3.1.3/ /en/3/changelogs/3.1.3/
/en/changelogs/3.1.5/ /en/3/changelogs/3.1.5/
/en/changelogs/3.1.4/ /en/3/changelogs/3.1.4/
/en/changelogs/3.1.7/ /en/3/changelogs/3.1.7/
/en/changelogs/3.1.19/ /en/3/changelogs/3.1.19/
/en/changelogs/3.1.6/ /en/3/changelogs/3.1.6/
/en/changelogs/3.1.9/ /en/3/changelogs/3.1.9/
/en/changelogs/3.2.2/ /en/3/changelogs/3.2.2/
/en/changelogs/3.1.8/ /en/3/changelogs/3.1.8/
/en/changelogs/3.2.1/ /en/3/changelogs/3.2.1/
/en/changelogs/3.2.3/ /en/3/changelogs/3.2.3/
/en/changelogs/3.2.4/ /en/3/changelogs/3.2.4/
/en/changelogs/3.2.5/ /en/3/changelogs/3.2.5/
/en/changelogs/3.3.1/ /en/3/changelogs/3.3.1/
/en/changelogs/3.2.6/ /en/3/changelogs/3.2.6/
/en/changelogs/3.4.3/ /en/3/changelogs/3.4.3/
/en/changelogs/3.4.4/ /en/3/changelogs/3.4.4/
/en/changelogs/3.4.5/ /en/3/changelogs/3.4.5/
/en/changelogs/3.4.6/ /en/3/changelogs/3.4.6/
/en/changelogs/3.5.1/ /en/3/changelogs/3.5.1/
/en/changelogs/3.5.2/ /en/3/changelogs/3.5.2/
/en/changelogs/3.5.4/ /en/3/changelogs/3.5.4/
/en/changelogs/3.5.3/ /en/3/changelogs/3.5.3/
/en/changelogs/3.5.6/ /en/3/changelogs/3.5.6/
/en/changelogs/3.5.7/ /en/3/changelogs/3.5.7/
/en/changelogs/3.5.8/ /en/3/changelogs/3.5.8/
/en/changelogs/3.6.0/ /en/3/changelogs/3.6.0/
/en/changelogs/3.5.5/ /en/3/changelogs/3.5.5/
/en/changelogs/3.6.1/ /en/3/changelogs/3.6.1/
/en/changelogs/3.3.4/ /en/3/changelogs/3.3.4/
/en/changelogs/3.6.2/ /en/3/changelogs/3.6.2/
/en/changelogs/3.6.3/ /en/3/changelogs/3.6.3/
/en/changelogs/3.6.4/ /en/3/changelogs/3.6.4/
/en/changelogs/3.6.5/ /en/3/changelogs/3.6.5/
/en/changelogs/3.6.6/ /en/3/changelogs/3.6.6/
/en/changelogs/3.7.1/ /en/3/changelogs/3.7.1/
/en/changelogs/3.7.2/ /en/3/changelogs/3.7.2/
/en/changelogs/3.7.4/ /en/3/changelogs/3.7.4/
/en/getting_started/installation/other_installation_options/mac_osx_homebrew/ /en/3/getting_started/installation/other_installation_options/mac_osx_homebrew/
/en/getting_started/installation/how_to/setup_nginx_and_hhvm/ /en/3/getting_started/installation/how_to/setup_nginx_and_hhvm/
/en/getting_started/installation/other_installation_options/vagrant_virtualbox/ /en/3/getting_started/installation/other_installation_options/vagrant_virtualbox/
/en/getting_started/installation/how_to/configure_lighttpd/ /en/3/getting_started/installation/how_to/configure_lighttpd/
/en/getting_started/installation/how_to/configure_nginx/ /en/3/getting_started/installation/how_to/configure_nginx/
/en/getting_started/installation/how_to/ /en/3/getting_started/installation/how_to/
/en/getting_started/installation/how_to/mysql_ssl_support/ /en/3/getting_started/installation/how_to/mysql_ssl_support/
/en/developer_guides/controllers/requestfilters/ /en/3/developer_guides/controllers/requestfilters/
/en/developer_guides/integration/restfulservice/ /en/3/developer_guides/integration/restfulservice/
/en/changelogs/alpha/3.6.1-alpha1/ /en/3/changelogs/alpha/3.6.1-alpha1/
/en/changelogs/alpha/3.6.1-alpha2/ /en/3/changelogs/alpha/3.6.1-alpha2/
/en/changelogs/beta/3.5.5-beta1/ /en/3/changelogs/beta/3.5.5-beta1/
/en/changelogs/beta/3.2.0-beta2/ /en/3/changelogs/beta/3.2.0-beta2/
/en/changelogs/beta/3.5.5-beta2/ /en/3/changelogs/beta/3.5.5-beta2/
/en/changelogs/beta/3.6.0-beta1/ /en/3/changelogs/beta/3.6.0-beta1/
/en/changelogs/beta/3.6.2-beta2/ /en/3/changelogs/beta/3.6.2-beta2/
/en/changelogs/beta/3.6.2-beta1/ /en/3/changelogs/beta/3.6.2-beta1/
/en/changelogs/beta/3.6.0-beta2/ /en/3/changelogs/beta/3.6.0-beta2/
/en/changelogs/rc/3.0.0-rc2/ /en/3/changelogs/rc/3.0.0-rc2/
/en/changelogs/rc/3.0.0-rc3/ /en/3/changelogs/rc/3.0.0-rc3/
/en/changelogs/rc/3.0.1-rc2/ /en/3/changelogs/rc/3.0.1-rc2/
/en/changelogs/rc/3.0.1-rc3/ /en/3/changelogs/rc/3.0.1-rc3/
/en/changelogs/rc/3.0.10-rc1/ /en/3/changelogs/rc/3.0.10-rc1/
/en/changelogs/rc/3.0.11-rc1/ /en/3/changelogs/rc/3.0.11-rc1/
/en/changelogs/rc/3.0.2-rc2/ /en/3/changelogs/rc/3.0.2-rc2/
/en/changelogs/rc/3.0.3-rc2/ /en/3/changelogs/rc/3.0.3-rc2/
/en/changelogs/rc/3.0.7-rc1/ /en/3/changelogs/rc/3.0.7-rc1/
/en/changelogs/rc/3.0.6-rc2/ /en/3/changelogs/rc/3.0.6-rc2/
/en/changelogs/rc/3.0.9-rc1/ /en/3/changelogs/rc/3.0.9-rc1/
/en/changelogs/rc/3.1.0-rc3/ /en/3/changelogs/rc/3.1.0-rc3/
/en/changelogs/rc/3.1.0-rc2/ /en/3/changelogs/rc/3.1.0-rc2/
/en/changelogs/rc/3.1.10-rc1/ /en/3/changelogs/rc/3.1.10-rc1/
/en/changelogs/rc/3.1.10-rc2/ /en/3/changelogs/rc/3.1.10-rc2/
/en/changelogs/rc/3.1.11-rc1/ /en/3/changelogs/rc/3.1.11-rc1/
/en/changelogs/rc/3.1.14-rc1/ /en/3/changelogs/rc/3.1.14-rc1/
/en/changelogs/rc/3.1.13-rc1/ /en/3/changelogs/rc/3.1.13-rc1/
/en/changelogs/rc/3.1.16-rc1/ /en/3/changelogs/rc/3.1.16-rc1/
/en/changelogs/rc/3.1.17-rc2/ /en/3/changelogs/rc/3.1.17-rc2/
/en/changelogs/rc/3.1.17-rc1/ /en/3/changelogs/rc/3.1.17-rc1/
/en/changelogs/rc/3.1.18-rc1/ /en/3/changelogs/rc/3.1.18-rc1/
/en/changelogs/rc/3.1.19-rc1/ /en/3/changelogs/rc/3.1.19-rc1/
/en/changelogs/rc/3.1.18-rc2/ /en/3/changelogs/rc/3.1.18-rc2/
/en/changelogs/rc/3.1.20-rc1/ /en/3/changelogs/rc/3.1.20-rc1/
/en/changelogs/rc/3.1.20-rc2/ /en/3/changelogs/rc/3.1.20-rc2/
/en/changelogs/rc/3.1.3-rc2/ /en/3/changelogs/rc/3.1.3-rc2/
/en/changelogs/rc/3.1.3-rc1/ /en/3/changelogs/rc/3.1.3-rc1/
/en/changelogs/rc/3.1.4-rc1/ /en/3/changelogs/rc/3.1.4-rc1/
/en/changelogs/rc/3.1.5-rc1/ /en/3/changelogs/rc/3.1.5-rc1/
/en/changelogs/rc/3.1.6-rc1/ /en/3/changelogs/rc/3.1.6-rc1/
/en/changelogs/rc/3.1.6-rc3/ /en/3/changelogs/rc/3.1.6-rc3/
/en/changelogs/rc/3.1.6-rc2/ /en/3/changelogs/rc/3.1.6-rc2/
/en/changelogs/rc/3.1.7-rc1/ /en/3/changelogs/rc/3.1.7-rc1/
/en/changelogs/rc/3.1.9-rc1/ /en/3/changelogs/rc/3.1.9-rc1/
/en/changelogs/rc/3.2.0-rc1/ /en/3/changelogs/rc/3.2.0-rc1/
/en/changelogs/rc/3.2.0-rc2/ /en/3/changelogs/rc/3.2.0-rc2/
/en/changelogs/rc/3.2.1-rc1/ /en/3/changelogs/rc/3.2.1-rc1/
/en/changelogs/rc/3.2.2-rc1/ /en/3/changelogs/rc/3.2.2-rc1/
/en/changelogs/rc/3.2.1-rc2/ /en/3/changelogs/rc/3.2.1-rc2/
/en/changelogs/rc/3.2.2-rc2/ /en/3/changelogs/rc/3.2.2-rc2/
/en/changelogs/rc/3.2.3-rc1/ /en/3/changelogs/rc/3.2.3-rc1/
/en/changelogs/rc/3.2.3-rc2/ /en/3/changelogs/rc/3.2.3-rc2/
/en/changelogs/rc/3.2.4-rc1/ /en/3/changelogs/rc/3.2.4-rc1/
/en/changelogs/rc/3.2.5-rc1/ /en/3/changelogs/rc/3.2.5-rc1/
/en/changelogs/rc/3.2.5-rc2/ /en/3/changelogs/rc/3.2.5-rc2/
/en/changelogs/rc/3.3.0-rc1/ /en/3/changelogs/rc/3.3.0-rc1/
/en/changelogs/rc/3.3.0-rc2/ /en/3/changelogs/rc/3.3.0-rc2/
/en/changelogs/rc/3.3.0-rc3/ /en/3/changelogs/rc/3.3.0-rc3/
/en/changelogs/rc/3.3.1-rc2/ /en/3/changelogs/rc/3.3.1-rc2/
/en/changelogs/rc/3.3.1-rc1/ /en/3/changelogs/rc/3.3.1-rc1/
/en/changelogs/rc/3.3.3-rc2/ /en/3/changelogs/rc/3.3.3-rc2/
/en/changelogs/rc/3.3.3-rc1/ /en/3/changelogs/rc/3.3.3-rc1/
/en/changelogs/rc/3.4.1-rc2/ /en/3/changelogs/rc/3.4.1-rc2/
/en/changelogs/rc/3.4.1-rc1/ /en/3/changelogs/rc/3.4.1-rc1/
/en/changelogs/rc/3.4.3-rc1/ /en/3/changelogs/rc/3.4.3-rc1/
/en/changelogs/rc/3.4.5-rc1/ /en/3/changelogs/rc/3.4.5-rc1/
/en/changelogs/rc/3.4.4-rc1/ /en/3/changelogs/rc/3.4.4-rc1/
/en/changelogs/rc/3.4.6-rc1/ /en/3/changelogs/rc/3.4.6-rc1/
/en/changelogs/rc/3.4.6-rc2/ /en/3/changelogs/rc/3.4.6-rc2/
/en/changelogs/rc/3.5.0-rc3/ /en/3/changelogs/rc/3.5.0-rc3/
/en/changelogs/rc/3.5.0-rc2/ /en/3/changelogs/rc/3.5.0-rc2/
/en/changelogs/rc/3.5.1-rc1/ /en/3/changelogs/rc/3.5.1-rc1/
/en/changelogs/rc/3.5.1-rc2/ /en/3/changelogs/rc/3.5.1-rc2/
/en/changelogs/rc/3.5.2-rc1/ /en/3/changelogs/rc/3.5.2-rc1/
/en/changelogs/rc/3.5.4-rc1/ /en/3/changelogs/rc/3.5.4-rc1/
/en/changelogs/rc/3.5.3-rc1/ /en/3/changelogs/rc/3.5.3-rc1/
/en/changelogs/rc/3.5.6-rc1/ /en/3/changelogs/rc/3.5.6-rc1/
/en/changelogs/rc/3.5.8-rc1/ /en/3/changelogs/rc/3.5.8-rc1/
/en/changelogs/rc/3.6.0-rc1/ /en/3/changelogs/rc/3.6.0-rc1/
/en/changelogs/rc/3.6.3-rc2/ /en/3/changelogs/rc/3.6.3-rc2/
/en/changelogs/rc/3.6.6-rc1/ /en/3/changelogs/rc/3.6.6-rc1/
/en/changelogs/rc/3.7.1-rc1/ /en/3/changelogs/rc/3.7.1-rc1/
/en/developer_guides/integration/how_tos/embed_rss/ /en/3/developer_guides/integration/how_tos/embed_rss/
/en/getting_started/coding_conventions/ /en/3/getting_started/coding_conventions/
/en/tutorials/forms/ /en/3/tutorials/forms/
/en/tutorials/dataobject_relationship_management/ /en/3/tutorials/dataobject_relationship_management/
/en/changelogs/3.3.0/ /en/3/changelogs/3.3.0/
/en/changelogs/3.3.3/ /en/3/changelogs/3.3.3/
/en/changelogs/3.3.2/ /en/3/changelogs/3.3.2/
/en/changelogs/3.4.0/ /en/3/changelogs/3.4.0/
/en/changelogs/3.4.2/ /en/3/changelogs/3.4.2/
/en/changelogs/3.4.1/ /en/3/changelogs/3.4.1/
/en/changelogs/3.7.0/ /en/3/changelogs/3.7.0/
/en/developer_guides/model/sql_query/ /en/3/developer_guides/model/sql_query/
/en/changelogs/beta/3.3.0-beta1/ /en/3/changelogs/beta/3.3.0-beta1/
/en/changelogs/rc/3.0.6-rc1/ /en/3/changelogs/rc/3.0.6-rc1/
/en/changelogs/rc/3.3.2-rc1/ /en/3/changelogs/rc/3.3.2-rc1/
/en/changelogs/rc/3.4.0-rc1/ /en/3/changelogs/rc/3.4.0-rc1/
/en/changelogs/rc/3.5.0-rc1/ /en/3/changelogs/rc/3.5.0-rc1/
/en/developer_guides/forms/field_types/uploadfield/ /en/3/developer_guides/forms/field_types/uploadfield/
/en/tutorials/building_a_basic_site/ /en/3/tutorials/building_a_basic_site/
/en/tutorials/extending_a_basic_site/ /en/3/tutorials/extending_a_basic_site/
/en/changelogs/3.0.4/ /en/3/changelogs/3.0.4/
/en/changelogs/3.1.2/ /en/3/changelogs/3.1.2/
/en/changelogs/3.1.0/ /en/3/changelogs/3.1.0/
/en/changelogs/3.5.0/ /en/3/changelogs/3.5.0/
/en/getting_started/installation/other_installation_options/windows_iis7/ /en/3/getting_started/installation/other_installation_options/windows_iis7/
/en/changelogs/beta/3.1.0-beta3/ /en/3/changelogs/beta/3.1.0-beta3/
/en/changelogs/rc/3.1.2-rc1/ /en/3/changelogs/rc/3.1.2-rc1/
/en/changelogs/3.0.1/ /en/3/changelogs/3.0.1/
/en/changelogs/rc/3.0.1-rc1/ /en/3/changelogs/rc/3.0.1-rc1/
/en/changelogs/rc/3.1.0-rc1/ /en/3/changelogs/rc/3.1.0-rc1/
/en/changelogs/3.0.0/ /en/3/changelogs/3.0.0/
/en/changelogs/3.0.2/ /en/3/changelogs/3.0.2/
/en/changelogs/3.0.3/ /en/3/changelogs/3.0.3/
/en/changelogs/rc/3.0.0-rc1/ /en/3/changelogs/rc/3.0.0-rc1/
/en/changelogs/rc/3.0.2-rc1/ /en/3/changelogs/rc/3.0.2-rc1/
/en/changelogs/rc/3.0.3-rc1/ /en/3/changelogs/rc/3.0.3-rc1/
/en/changelogs/alpha/3.0.0-alpha1/ /en/3/changelogs/alpha/3.0.0-alpha1/
/en/changelogs/beta/3.1.0-beta2/ /en/3/changelogs/beta/3.1.0-beta2/
/en/changelogs/beta/3.1.0-beta1/ /en/3/changelogs/beta/3.1.0-beta1/
/en/changelogs/beta/3.2.0-beta1/ /en/3/changelogs/beta/3.2.0-beta1/
/en/changelogs/3.2.0/ /en/3/changelogs/3.2.0/
/en/changelogs/alpha/3.0.0-alpha2/ /en/3/changelogs/alpha/3.0.0-alpha2/
/en/changelogs/beta/3.0.0-beta3/ /en/3/changelogs/beta/3.0.0-beta3/
/en/changelogs/beta/3.0.0-beta2/ /en/3/changelogs/beta/3.0.0-beta2/
/en/changelogs/beta/3.0.0-beta1/ /en/3/changelogs/beta/3.0.0-beta1/
/en/changelogs/pr/3.0.0-pr1/ /en/3/changelogs/pr/3.0.0-pr1/

View File

@ -1,4 +1,5 @@
const path = require('path');
const fs = require('fs');
const { createFilePath } = require(`gatsby-source-filesystem`);
const fileToTitle = require('./src/utils/fileToTitle');
@ -116,3 +117,30 @@ exports.createPages = async ({ actions, graphql }) => {
})
};
exports.onPostBuild = async ({ getNodesByType }) => {
console.log(`Writing legacy redirects...`);
const redirects = new Map();
const v4docs = getNodesByType('SilverstripeDocument').filter(n => n.slug.match(/^\/en\/4\//));
const v3docs = getNodesByType('SilverstripeDocument').filter(n => n.slug.match(/^\/en\/3\//));
[...v4docs, ...v3docs].forEach(n => {
const legacy = n.slug.replace(/^\/en\/[0-9]\//, '/en/');
if (!redirects.has(legacy)) {
redirects.set(legacy, n.slug);
}
});
const lines = [];
redirects.forEach((slug, legacy) => {
lines.push(`${legacy} ${slug}`);
});
fs.writeFileSync(path.join(__dirname, '_redirects'),
`### This file is auto-generated. Do not modify ###
${lines.join("\n")}`
);
return Promise.resolve();
}

View File

@ -76,8 +76,11 @@ const SEO: StatelessComponent<SEOProps> = ({ description, lang, meta, title }) =
{
name: `docsearch:version`,
content: getCurrentVersion(),
}
},
{
name: `docsearch:context`,
content: process.env.DOCS_CONTEXT,
},
].concat(meta)}
/>
);