Redirects from required non-existent URLs to required target URLs. You can redirect to any existing site page or to any external URL at all.
Each URL can be specified in one of the following format:
- Full:
https://example.com/some/page
. - Without protocol:
example.com/some/page
,//example.com/some/page
. - Without domain:
some/page
,/some/page
. - Just an ID of the existing document:
12
(only for target URLs).
- PHP >= 5.6
- (MODX)EvolutionCMS >= 1.1
- (MODX)EvolutionCMS.libraries.ddTools >= 0.55
Elements → Plugins: Create a new plugin with the following data
- Plugin name:
ddSendRedirect
. - Description:
<b>2.0</b> Redirects from required non-existent URLs to required target URLs.
. - Category:
Core
. - Parse DocBlock:
no
. - Plugin code (php): Insert content of the
ddSendRedirect_plugin.php
file from the archive. - Properties: Insert content of the
ddSendRedirect_configuration.json
file from the archive. - System events:
OnPageNotFound
.
Redirection rules will be stored in TV value of specified document. The plugin gets the rules from the TV.
- Create the TV:
- Name:
settings_redirectionRules
(you can specify another name, this is an example). - Input Type:
Textarea
.
- Name:
- Assign the TV to a required template.
- Create a document with specified template. Let the document ID be
42
.
Go to the plugin configuration tab and save the data:
- Document ID containing redirection rules:
42
. - TV name containing redirection rules:
settings_redirectionRules
.
You can use this interface for more convenience.
mm_ddMultipleFields([
'fields' => 'settings_redirectionRules',
'columns' => [
[
'title' => 'Source URL *',
'type' => 'textarea',
'width' => 250
],
[
'title' => 'Target URL *',
'type' => 'textarea',
'width' => 250
]
]
]);
If you don't want to use mm_ddMultipleFields, you can just fill JSON manually in the following format:
[
[
"https://example.com/some/source/url",
"https://example.com/some/target/url"
],
[
"another/source/url",
"another/target/url"
]
]
-
$docId
- Desctription: Document ID containing redirection rules.
- Valid values:
integer
- Required
-
$tvName
- Desctription: TV name containing redirection rules in JSON (see Usage above).
- Valid values:
string
- Required