From f270d020bf2943421d3830f6a24479a99a33beb0 Mon Sep 17 00:00:00 2001 From: Hangea Cristian Date: Tue, 27 Jun 2017 16:32:33 +0300 Subject: [PATCH] Add and configure Redirect. See #27. --- composer.json | 1 + composer.lock | 54 +- .../checklistapi.progress.seo_checklist.yml | 32 + config/sync/core.extension.yml | 2 + ...age.content_settings.redirect.redirect.yml | 13 + config/sync/redirect.settings.yml | 11 + config/sync/redirect_404.settings.yml | 5 + .../system.action.redirect_delete_action.yml | 16 + config/sync/views.view.redirect.yml | 601 ++++++++++++++++++ config/sync/views.view.redirect_404.yml | 526 +++++++++++++++ 10 files changed, 1258 insertions(+), 3 deletions(-) create mode 100644 config/sync/checklistapi.progress.seo_checklist.yml create mode 100644 config/sync/language.content_settings.redirect.redirect.yml create mode 100644 config/sync/redirect.settings.yml create mode 100644 config/sync/redirect_404.settings.yml create mode 100644 config/sync/system.action.redirect_delete_action.yml create mode 100644 config/sync/views.view.redirect.yml create mode 100644 config/sync/views.view.redirect_404.yml diff --git a/composer.json b/composer.json index 1422fda..f51429b 100644 --- a/composer.json +++ b/composer.json @@ -28,6 +28,7 @@ "drupal/nexus": "1.0.0-beta1", "drupal/paragraphs": "^1.1", "drupal/pathauto": "^1.0", + "drupal/redirect": "^1.0@alpha", "drupal/seo_checklist": "^4.0", "drush/drush": "~8.0", "webflo/drupal-finder": "^0.2.1", diff --git a/composer.lock b/composer.lock index 2912d60..30a16fe 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "b7bb34f9c942dc9cd3aef01e1838f02a", + "content-hash": "8040bd9a2235f1eb9250c623bdeae7a2", "packages": [ { "name": "alchemy/zippy", @@ -2090,7 +2090,7 @@ "dist": { "type": "zip", "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.0.zip", - "reference": null, + "reference": "8.x-1.0", "shasum": "4c82a5689a18421c8c73fcc8be7b333bb21ae02a" }, "require": { @@ -2136,6 +2136,53 @@ "source": "http://cgit.drupalcode.org/pathauto" } }, + { + "name": "drupal/redirect", + "version": "1.0.0-alpha5", + "source": { + "type": "git", + "url": "https://git.drupal.org/project/redirect", + "reference": "8.x-1.0-alpha5" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.0-alpha5.zip", + "reference": null, + "shasum": "927aa4c8d8b40b0cd2442bee86f2f386d25e53ca" + }, + "require": { + "drupal/core": "~8" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + }, + "drupal": { + "version": "8.x-1.0-alpha5", + "datestamp": "1492182542" + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Berdir", + "homepage": "https://www.drupal.org/user/214652" + }, + { + "name": "Dave Reid", + "homepage": "https://www.drupal.org/user/53892" + } + ], + "description": "Allows users to redirect from old URLs to new URLs.", + "homepage": "https://www.drupal.org/project/redirect", + "support": { + "source": "http://cgit.drupalcode.org/redirect" + } + }, { "name": "drupal/seo_checklist", "version": "4.0.0", @@ -6641,7 +6688,8 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { - "drupal/disqus": 5 + "drupal/disqus": 5, + "drupal/redirect": 15 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/config/sync/checklistapi.progress.seo_checklist.yml b/config/sync/checklistapi.progress.seo_checklist.yml new file mode 100644 index 0000000..1d84ba0 --- /dev/null +++ b/config/sync/checklistapi.progress.seo_checklist.yml @@ -0,0 +1,32 @@ +progress: + '#changed': 1498565127 + '#changed_by': '1' + '#completed_items': 9 + '#items': + install_and_enable_seo_checklist_module: + '#completed': 1498565127 + '#uid': '1' + install_and_enable_admin_toolbar_module: + '#completed': 1498565127 + '#uid': '1' + install_composer_command_line_tool: + '#completed': 1498565127 + '#uid': '1' + install_drush_command_line_tool: + '#completed': 1498565127 + '#uid': '1' + enable_clean_urls: + '#completed': 1498565127 + '#uid': '1' + install_and_enable_pathauto_module: + '#completed': 1498565127 + '#uid': '1' + configure_pathauto_module: + '#completed': 1498565127 + '#uid': '1' + create_pathauto_patterns: + '#completed': 1498565127 + '#uid': '1' + install_and_enable_share_buttons_by_addtoany: + '#completed': 1498565127 + '#uid': '1' diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 9187486..c61b00e 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -41,6 +41,8 @@ module: path: 0 quickedit: 0 rdf: 0 + redirect: 0 + redirect_404: 0 rest: 0 search: 0 seo_checklist: 0 diff --git a/config/sync/language.content_settings.redirect.redirect.yml b/config/sync/language.content_settings.redirect.redirect.yml new file mode 100644 index 0000000..61a0eeb --- /dev/null +++ b/config/sync/language.content_settings.redirect.redirect.yml @@ -0,0 +1,13 @@ +uuid: 1b4d5713-8a2e-46f1-b75d-c65277a770f6 +langcode: en +status: true +dependencies: + module: + - redirect +_core: + default_config_hash: trr_a8v98iVbDC77f4BIifTRGbvvq43ey6rk4HQbZ8Y +id: redirect.redirect +target_entity_type_id: redirect +target_bundle: redirect +default_langcode: und +language_alterable: true diff --git a/config/sync/redirect.settings.yml b/config/sync/redirect.settings.yml new file mode 100644 index 0000000..6b3359e --- /dev/null +++ b/config/sync/redirect.settings.yml @@ -0,0 +1,11 @@ +canonical: true +auto_redirect: true +default_status_code: 301 +passthrough_querystring: true +warning: false +ignore_admin_path: false +access_check: false +content_location_header: false +route_normalizer_enabled: true +_core: + default_config_hash: sy2s6cD5e-MOs_pCF0bLhRG9-YLooOXHSWn-00asCCc diff --git a/config/sync/redirect_404.settings.yml b/config/sync/redirect_404.settings.yml new file mode 100644 index 0000000..2056191 --- /dev/null +++ b/config/sync/redirect_404.settings.yml @@ -0,0 +1,5 @@ +row_limit: 10000 +pages: '' +suppress_404: false +_core: + default_config_hash: FgPCEDevf9dhNU_QB_fo-4AWxi0rrSZ2SGfd7bLNzLM diff --git a/config/sync/system.action.redirect_delete_action.yml b/config/sync/system.action.redirect_delete_action.yml new file mode 100644 index 0000000..76a9a4b --- /dev/null +++ b/config/sync/system.action.redirect_delete_action.yml @@ -0,0 +1,16 @@ +uuid: 19296dad-9d58-4cc9-b22b-f64f7c5b89dc +langcode: en +status: true +dependencies: + enforced: + module: + - redirect + module: + - redirect +_core: + default_config_hash: QmBeFeWHnYLbMWN48tWZZJmZIHZw0XEWUfxLYZFXhzQ +id: redirect_delete_action +label: 'Delete redirect' +type: redirect +plugin: redirect_delete_action +configuration: { } diff --git a/config/sync/views.view.redirect.yml b/config/sync/views.view.redirect.yml new file mode 100644 index 0000000..ab2c802 --- /dev/null +++ b/config/sync/views.view.redirect.yml @@ -0,0 +1,601 @@ +uuid: 908c2913-4c2f-4aa1-a268-22a182ac2bd9 +langcode: en +status: true +dependencies: + module: + - link + - redirect + - system + - user +_core: + default_config_hash: Tm6QoaGPvoGikEEJs6iuSB0LdSw3uzD9PPJ7DhkQJAg +id: redirect +label: Redirect +module: views +description: 'List of redirects' +tag: '' +base_table: redirect +base_field: rid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'administer redirects' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 50 + offset: 0 + id: 0 + total_pages: null + tags: + previous: '‹ previous' + next: 'next ›' + first: '« first' + last: 'last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + redirect_source__path: redirect_source__path + redirect_redirect__uri: redirect_redirect__uri + status_code: status_code + language: language + created: created + operations: operations + info: + redirect_source__path: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + redirect_redirect__uri: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + status_code: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + language: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + created: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: created + empty_table: false + row: + type: fields + fields: + redirect_bulk_form: + id: redirect_bulk_form + table: redirect + field: redirect_bulk_form + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: 'With selection' + include_exclude: exclude + selected_actions: { } + entity_type: redirect + plugin_id: redirect_bulk_form + redirect_source__path: + id: redirect_source__path + table: redirect + field: redirect_source__path + relationship: none + group_type: group + admin_label: '' + label: From + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: path + type: redirect_source + settings: { } + group_column: '' + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: redirect + entity_field: redirect_source + plugin_id: field + redirect_redirect__uri: + id: redirect_redirect__uri + table: redirect + field: redirect_redirect__uri + entity_type: redirect + entity_field: redirect_redirect + plugin_id: field + status_code: + id: status_code + table: redirect + field: status_code + entity_type: redirect + entity_field: status_code + plugin_id: field + language: + id: language + table: redirect + field: language + entity_type: redirect + entity_field: language + plugin_id: field + created: + id: created + table: redirect + field: created + relationship: none + group_type: group + admin_label: '' + label: Created + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + date_format: fallback + custom_date_format: '' + timezone: '' + entity_type: redirect + entity_field: created + plugin_id: date + operations: + id: operations + table: redirect + field: operations + entity_type: redirect + plugin_id: entity_operations + filters: + redirect_source__path: + id: redirect_source__path + table: redirect + field: redirect_source__path + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: redirect_source__path_op + label: From + description: '' + use_operator: false + operator: redirect_source__path_op + identifier: redirect_source__path + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: redirect + entity_field: redirect_source + plugin_id: string + redirect_redirect__uri: + id: redirect_redirect__uri + table: redirect + field: redirect_redirect__uri + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: redirect_redirect__uri_op + label: To + description: '' + use_operator: false + operator: redirect_redirect__uri_op + identifier: redirect_redirect__uri + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: redirect + entity_field: redirect_redirect + plugin_id: string + status_code: + id: status_code + table: redirect + field: status_code + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: + min: '' + max: '' + value: '' + group: 1 + exposed: true + expose: + operator_id: status_code_op + label: 'Status code' + description: '' + use_operator: false + operator: status_code_op + identifier: status_code + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: true + group_info: + label: 'Status code' + description: '' + identifier: status_code + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: '300 Multiple Choices' + operator: '=' + value: + value: '300' + min: '' + max: '' + 2: + title: '301 Moved Permanently' + operator: '=' + value: + value: '301' + min: '' + max: '' + 3: + title: '302 Found' + operator: '=' + value: + value: '302' + min: '' + max: '' + 4: + title: '303 See Other' + operator: '=' + value: + value: '303' + min: '' + max: '' + 5: + title: '304 Not Modified' + operator: '=' + value: + value: '304' + min: '' + max: '' + 6: + title: '305 Use Proxy' + operator: '=' + value: + value: '305' + min: '' + max: '' + 7: + title: '307 Temporary Redirect' + operator: '=' + value: + value: '307' + min: '' + max: '' + entity_type: redirect + entity_field: status_code + plugin_id: numeric + language: + id: language + table: redirect + field: language + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: language_op + label: 'Original language' + description: '' + use_operator: false + operator: language_op + identifier: language + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: redirect + entity_field: language + plugin_id: language + sorts: { } + title: Redirect + header: { } + footer: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: 'There is no redirect yet.' + plugin_id: text_custom + relationships: { } + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + cacheable: false + max-age: 0 + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: admin/config/search/redirect + cache_metadata: + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + cacheable: false + max-age: 0 + tags: { } diff --git a/config/sync/views.view.redirect_404.yml b/config/sync/views.view.redirect_404.yml new file mode 100644 index 0000000..bca6885 --- /dev/null +++ b/config/sync/views.view.redirect_404.yml @@ -0,0 +1,526 @@ +uuid: 433707a5-f095-4de4-80e9-c8759c7237eb +langcode: en +status: true +dependencies: + module: + - redirect_404 + - user +_core: + default_config_hash: buduFGAdaFGOdE2NiawHXVsrm8k6wtiUoIp5Bcpxh3k +id: redirect_404 +label: 'Redirect 404' +module: views +description: '' +tag: '' +base_table: redirect_404 +base_field: '' +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access site reports' + cache: + type: none + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Filter + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + path: path + count: count + timestamp: timestamp + info: + path: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + count: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + timestamp: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + default: count + empty_table: false + row: + type: fields + fields: + path: + table: redirect_404 + field: path + id: path + entity_type: null + entity_field: null + plugin_id: standard + relationship: none + group_type: group + admin_label: '' + label: Path + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + count: + id: count + table: redirect_404 + field: count + relationship: none + group_type: group + admin_label: '' + label: Count + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + format: unserialized + key: '' + plugin_id: serialized + timestamp: + id: timestamp + table: redirect_404 + field: timestamp + relationship: none + group_type: group + admin_label: '' + label: 'Last accessed' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + date_format: short + custom_date_format: '' + timezone: '' + plugin_id: date + langcode: + id: langcode + table: redirect_404 + field: langcode + relationship: none + group_type: group + admin_label: '' + label: Language + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin_id: standard + redirect_404_operations: + id: redirect_404_operations + table: redirect_404 + field: redirect_404_operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin_id: redirect_404_operations + filters: + path: + id: path + table: redirect_404 + field: path + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: path_op + label: Path + description: '' + use_operator: false + operator: path_op + identifier: path + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + langcode: + id: langcode + table: redirect_404 + field: langcode + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: Language + description: '' + use_operator: false + operator: langcode_op + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: in_operator + resolved: + id: resolved + table: redirect_404 + field: resolved + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '0' + group: 1 + exposed: false + expose: + operator_id: '' + label: Resolved + description: '' + use_operator: false + operator: resolved_op + identifier: resolved + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: boolean + sorts: { } + title: 'Fix 404 pages' + header: { } + footer: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: 'There are no 404 errors to fix.' + plugin_id: text_custom + relationships: { } + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: admin/config/search/redirect/404 + display_description: 'Lists 404 error paths with no redirect assigned yet.' + enabled: true + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { }