PHPackages                             scandipwa/route717 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. scandipwa/route717

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

scandipwa/route717
==================

ScandiPWA dedicated router

2.1.6(2y ago)2219.1k—3.1%19[4 PRs](https://github.com/scandipwa/route717/pulls)3OSL-3.0PHP

Since Mar 26Pushed 2y ago2 watchersCompare

[ Source](https://github.com/scandipwa/route717)[ Packagist](https://packagist.org/packages/scandipwa/route717)[ RSS](/packages/scandipwa-route717/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (28)Used By (3)

ScandiPWA Route717
==================

[](#scandipwa-route717)

Module is providing custom router to properly resolve HTTP codes on specific page request.

v1.1.0 update
-------------

[](#v110-update)

Custom router is now checking theme type in order to support URL rewrites. You must ensure PWA theme type is set to `4` to utilize the options.

[Installer](https://github.com/scandipwa/installer) is doing this automatically for any newly generated theme.

For already generated theme please update manually: set PWA theme type to `4` in `theme` table.

Installation
------------

[](#installation)

`composer require scandipwa/route717`

Description
-----------

[](#description)

Module is providing validators for such entities:

1. Product (/product)
2. Category (/category)
3. Cms pages (/page)
4. Cart (/cart)
5. Root (/)

How it works
------------

[](#how-it-works)

Each frontend path (Magento 2 front name) should be added to validator list in `src/etc/di.xml`. Depending on entity type it might have more or less complex validation logic, to i.e. determine if specific product exists or not. Router is only responding 200 OK to entities, which it was able to validate. Otherwise it is falling back to default Magento 2 routers.

Customization
-------------

[](#customization)

To add new path you must provide your own validator, that must implement `ScandiPWA\Router\ValidatorInterface` and register it as an array element passed to `ScandiPWA\Router\ValidationManager` using `di.xml`.

Accessing Magento 2 default routes
----------------------------------

[](#accessing-magento-2-default-routes)

In order to allow Magento 2 to handle some routes in default manner (only serverside functionality) you must allow specific routes to be accessed by adding RegExp to `src/app/etc/di.xml::ignoredURLs` arguments list.

So far there are 3 paths whitelisted out of the box:

- `/newsletter/subscriber/confirm` - subscribe to newsletter
- `/newsletter/subscriber/unsubscribe` - unsubscribe to newsletter
- `/customer/account/confirm/` - confirm e-mail (redirect to homepage in any case, modify according to your needs)

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity39

Limited adoption so far

Community27

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~76 days

Recently: every ~104 days

Total

25

Last Release

774d ago

Major Versions

1.8.0 → 2.0.02020-11-19

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c2cd642b3c520df20394344ee587782e246262899e7ddc99a191360e85d7fdc?d=identicon)[scandiweb](/maintainers/scandiweb)

---

Top Contributors

[![AleksandrsKondratjevs](https://avatars.githubusercontent.com/u/68007919?v=4)](https://github.com/AleksandrsKondratjevs "AleksandrsKondratjevs (30 commits)")[![alfredsgenkins](https://avatars.githubusercontent.com/u/29531824?v=4)](https://github.com/alfredsgenkins "alfredsgenkins (18 commits)")[![matesich](https://avatars.githubusercontent.com/u/103638676?v=4)](https://github.com/matesich "matesich (15 commits)")[![atravkovs](https://avatars.githubusercontent.com/u/12703177?v=4)](https://github.com/atravkovs "atravkovs (12 commits)")[![IljaFatkulin](https://avatars.githubusercontent.com/u/78017514?v=4)](https://github.com/IljaFatkulin "IljaFatkulin (4 commits)")[![eli-l](https://avatars.githubusercontent.com/u/7448649?v=4)](https://github.com/eli-l "eli-l (3 commits)")[![carinadues](https://avatars.githubusercontent.com/u/82165392?v=4)](https://github.com/carinadues "carinadues (2 commits)")[![ankithg03](https://avatars.githubusercontent.com/u/67680823?v=4)](https://github.com/ankithg03 "ankithg03 (1 commits)")[![neeeeecka](https://avatars.githubusercontent.com/u/22796372?v=4)](https://github.com/neeeeecka "neeeeecka (1 commits)")[![riha112](https://avatars.githubusercontent.com/u/25338213?v=4)](https://github.com/riha112 "riha112 (1 commits)")[![Talha7717](https://avatars.githubusercontent.com/u/17314314?v=4)](https://github.com/Talha7717 "Talha7717 (1 commits)")[![tatiana-scandi](https://avatars.githubusercontent.com/u/79456428?v=4)](https://github.com/tatiana-scandi "tatiana-scandi (1 commits)")[![xapiksw](https://avatars.githubusercontent.com/u/52314930?v=4)](https://github.com/xapiksw "xapiksw (1 commits)")

### Embed Badge

![Health badge](/badges/scandipwa-route717/health.svg)

```
[![Health](https://phpackages.com/badges/scandipwa-route717/health.svg)](https://phpackages.com/packages/scandipwa-route717)
```

###  Alternatives

[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[mage-os/module-inventory-reservations-grid

Add a grid with the list of inventory reservations.

126.8k](/packages/mage-os-module-inventory-reservations-grid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
