{"id":16023956,"url":"https://github.com/agence-adeliom/easy-redirect-bundle","last_synced_at":"2025-03-17T16:30:44.767Z","repository":{"id":56941888,"uuid":"409590742","full_name":"agence-adeliom/easy-redirect-bundle","owner":"agence-adeliom","description":"Symfony redirection bundle for EasyAdmin","archived":false,"fork":false,"pushed_at":"2024-05-29T09:46:29.000Z","size":104,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"2.x","last_synced_at":"2024-11-24T17:49:08.537Z","etag":null,"topics":["easyadmin","redirection","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agence-adeliom.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-23T12:52:27.000Z","updated_at":"2024-05-29T09:46:32.000Z","dependencies_parsed_at":"2023-12-08T15:00:23.494Z","dependency_job_id":"103bbe46-25d6-4559-ad5c-5b08d20975b3","html_url":"https://github.com/agence-adeliom/easy-redirect-bundle","commit_stats":{"total_commits":195,"total_committers":3,"mean_commits":65.0,"dds":"0.22564102564102562","last_synced_commit":"79793d68fbda41e661d8bbfc7d720546a7ac6b4b"},"previous_names":[],"tags_count":114,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-redirect-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-redirect-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-redirect-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-redirect-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agence-adeliom","download_url":"https://codeload.github.com/agence-adeliom/easy-redirect-bundle/tar.gz/refs/heads/2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243495503,"owners_count":20299922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["easyadmin","redirection","symfony"],"created_at":"2024-10-08T19:04:51.993Z","updated_at":"2025-03-17T16:30:44.437Z","avatar_url":"https://github.com/agence-adeliom.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Adeliom](https://adeliom.com/public/uploads/2017/09/Adeliom_logo.png)\n[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=agence-adeliom_easy-redirect-bundle)](https://sonarcloud.io/dashboard?id=agence-adeliom_easy-redirect-bundle)\n\n# Easy Redirect Bundle\n\nThis bundle adds entities for redirects and 404 errors.\n\nFor redirects, 404 errors are intercepted and the requested path is looked up. If a match is found it redirects to the found redirect's destination. The count and last accessed date are updated as well. A redirect form type and validation is available as well.\n\n404 errors can be logged as well. Each 404 error is it's own record in the database. The path, full URL, timestamp, and referer are stored. Storing each error as a separate record allows viewing statistics over time and seeing all the referer URLs. When a redirect is created or updated, 404 records that match it's path are deleted.\n\n## Versions\n\n| Repository Branch | Version | Symfony Compatibility | PHP Compatibility | Status                     |\n|-------------------|---------|-----------------------|-------------------|----------------------------|\n| `2.x`             | `2.x`   | `5.4`, and `6.x`      | `8.0.2` or higher | New features and bug fixes |\n| `1.x`             | `1.x`   | `4.4`, and `5.x`      | `7.2.5` or higher | No longer maintained       |\n\n\n## Installation with Symfony Flex\n\nAdd our recipes endpoint\n\n```json\n{\n  \"extra\": {\n    \"symfony\": {\n      \"endpoint\": [\n        \"https://api.github.com/repos/agence-adeliom/symfony-recipes/contents/index.json?ref=flex/main\",\n        ...\n        \"flex://defaults\"\n      ],\n      \"allow-contrib\": true\n    }\n  }\n}\n```\n\nInstall with composer\n\n```bash\ncomposer require agence-adeliom/easy-redirect-bundle\n```\n\n### Setup database\n\n#### Using doctrine migrations\n\n```bash\nphp bin/console doctrine:migration:diff\nphp bin/console doctrine:migration:migrate\n```\n\n#### Without\n\n```bash\nphp bin/console doctrine:schema:update --force\n```\n\n## Documentation\n\n### Manage redirect in your Easyadmin dashboard\n\nGo to your dashboard controller, example : `src/Controller/Admin/DashboardController.php`\n\n```php\n\u003c?php\n\nnamespace App\\Controller\\Admin;\n\n...\nuse Adeliom\\EasyRedirectBundle\\Admin\\EasyRedirectTrait;\n\nclass DashboardController extends AbstractDashboardController\n{\n    ...\n    use EasyRedirectTrait;\n\n    ...\n    public function configureMenuItems(): iterable\n    {\n        ...\n        yield from $this-\u003econfigRedirectEntry();\n\n        ...\n```\n\n### Configuration\n\n```yaml\n# config/packages/easy_redirect.yaml\neasy_redirect:\n    redirect_class:     ~ # Required and must be an instance of \"Adeliom\\EasyRedirectBundle\\Entity\\Redirect\"\n    not_found_class:    ~ # Required and must be an instance of \"Adeliom\\EasyRedirectBundle\\Entity\\NotFound\"\n    model_manager_name: ~ # If a custom model manager is used by default its 'default'\n\n    # When enabled, when a redirect is updated or created, the NotFound entites with a matching path are removed.\n    remove_not_founds: true\n```\n\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n\n## Authors\n\n- [@arnaud-ritti](https://github.com/arnaud-ritti)\n\n\n## Thanks to\n\n[kbond/ZenstruckRedirectBundle](kbond/ZenstruckRedirectBundle)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-adeliom%2Feasy-redirect-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagence-adeliom%2Feasy-redirect-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-adeliom%2Feasy-redirect-bundle/lists"}