Download the PHP package georgringer/redirect-generator without Composer
On this page you can find all versions of the php package georgringer/redirect-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download georgringer/redirect-generator
More information about georgringer/redirect-generator
Files in georgringer/redirect-generator
Package redirect-generator
Short Description Generate redirect entries from a given set of URLs and export all to CSV
License GPL-2.0-or-later
Homepage https://ringer.it
Informations about the package redirect-generator
TYPO3 Extension redirect_generator
CLI tools and backend modules to bulk-import and export TYPO3 redirects from/to CSV.
Target URLs are automatically resolved to t3://page?uid=X links via TYPO3's routing - no manual page ID lookup needed,
including error check.
Requirements
- TYPO3 13.4 LTS or 14 LTS
- EXT:redirects
Installation
Configuration
Extension configuration options (Admin → Settings → Extension Configuration):
| Option | Description |
|---|---|
notification_email |
Comma-separated list of addresses for import/export notifications |
notification_level |
0 = errors only · 1 = + warnings · 2 = + info |
allow_empty_import_file |
If true, an empty CSV file silently skips the import instead of throwing an error |
CLI Commands
Add a single redirect
The target must be a full URL of a page on this TYPO3 instance. It is resolved to the corresponding page ID automatically.
Import redirects from CSV
CSV format — semicolon-delimited, first row must be the header:
| Column | Required | Description |
|---|---|---|
source |
yes | Source path (e.g. /old-page) |
target |
yes | Full target URL. Internal pages are resolved to t3://page?uid=X. Set external=1 to skip resolution. |
status_code |
no | HTTP status code. Falls back to 307 if omitted or invalid. |
external |
no | 1 = store target URL as-is without page lookup |
Set a target value of x to skip a row.
Options:
| Option | Description |
|---|---|
--dry-run |
Simulate import without writing to the database |
--delimiter |
CSV delimiter: ; (default), , or tab |
--external-domains |
Comma-separated list of domains always treated as external |
--delete-file |
Delete the CSV file after import |
This command is schedulable (TYPO3 Scheduler → Execute console commands).
Export redirects to CSV
--transform-target-url resolves stored t3://page?uid=X links back to readable URLs.
This command is schedulable.
Backend UI — redirect_generator_ui
The companion extension georgringer/redirect-generator-ui adds a full backend module under Link Management with import and export forms — no CLI access required.
More information: ringer.it/extensions/redirect-generator-ui
|
Module in the backend navigation |
Export — filter by type, resolve target URLs |
|
Import — live result with per-row feedback |
Import — conflicts and errors shown inline |
Features:
- Paste CSV directly into a textarea — no file upload or server access needed
- Choose delimiter (
;,tab) and default status code per import run - Dry-run mode to preview results before writing
- Per-row result feedback: imported, skipped, conflicting duplicates, errors
- Export with optional filter by redirect type or creation type
- Resolve stored
t3://pagelinks to readable URLs on export
PSR-14 Events
Two events are dispatched from RedirectRepository::addRedirect() (not fired during dry runs):
BeforeRedirectAddedEvent
Fired just before the database insert. Listeners may modify source URL, target URL, or the Configuration object.
AfterRedirectAddedEvent
Fired after the insert. Provides sourceUrl, targetUrl, configuration, and the new uid.
Register listeners in your extension's Services.yaml: