The Home for
Magento Excellence

Explore. Discover. Elevate. #magento

162
Modules Tested
98
Ready for Magento 2.4
64
Need Your Help
Stale v2.0.0
Ready to Install
Build tests pass on Magento 2.4.8-p3

MarkShust_SpecialRouter

markshust/magento2-module-specialrouter

This extension provides the ability to use special characters in controller or action names.

1,177
Downloads
Below average
11
GitHub Stars
Below average
2y ago
Last Release
0
Open Issues

Quality Score

4/5
Installs via Composer
DI compiles correctly
Templates compile
PHPStan Level 1

Recent Test History

Each release is tested against the latest Magento version at that time.

v2.0.0 on Magento 2.4.8-p3
Dec 16, 2025
v2.0.0 on Magento 2.4.8-p2
Aug 14, 2025
v2.0.0 on Magento 2.4.8
May 21, 2025
v2.0.0 on Magento 2.4.7-p4
Feb 15, 2025
v2.0.0 on Magento 2.4.7-p3
Oct 20, 2024
v2.0.0 on Magento 2.4.7-p2
Sep 8, 2024

+6 older tests

GitHub Repository
Source code & docs
Packagist
Version history
Issues & Support
Get help or report bugs

Share This Module's Status

MarkShust_SpecialRouter Magento compatibility status badge

README

Loaded from GitHub

Table of contents

Summary

Magento does not provide the ability to set special characters on controller or action names. This module fixes that by providing the ability to use -, ., ~, _ within a URL.

Installation

composer require markshust/magento2-module-specialrouter
bin/magento module:enable MarkShust_SpecialRouter
bin/magento setup:upgrade

Usage

This module is really simple to use. All you need to do is use the appropriate "name" that matches the symbol you'd like to use in the URL.

  • Symbol: -, Name: Dash
  • Symbol: ., Name: Period
  • Symbol: ~, Name: Tilda
  • Symbol: _, Name: Underscore

For example, to respond to a request with a frontName of foo at the following location:

/foo/alpha-beta/charlie-delta

Use a PHP class named:

Controller/AlphaDashBeta/CharlieDashDelta.php

The - in the URL will be translated to dash in the actionPath and actionName, so if we create files using Dash in the controller and action name, they will respond to these requests.

Credits

M.academy

This course is sponsored by M.academy, the simplest way to learn Magento.

Mark Shust

My name is Mark Shust and I'm the creator of this repo. I'm a 6X Adobe Commerce Certified Developer and have been involved with Magento since the early days (v0.8!). I create technical education courses full-time for my company, M.academy.

  • 🖥️ See my Magento lessons & courses
  • 📖 Read my technical articles
  • 🎥 Watch my YouTube videos
  • 🔗 Connect on LinkedIn
  • 🐦 Follow me on X
  • 💌 Contact me

License

MIT

This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.

Back to All Modules