# \[documentation\]Migration of PathPrefix

**URL:** <https://community.traefik.io/t/documentation-migration-of-pathprefix/27649>\
**Category:** Traefik v3 (latest)\
**Tags:** middleware\
**Created:** [May 30, 2025, 2:46pm UTC](https://community.traefik.io/t/documentation-migration-of-pathprefix/27649 "2025-05-30T14:46:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![fdambrine](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/fdambrine/32/10431_2.png) [@fdambrine](https://community.traefik.io/u/fdambrine)\
**Post date:** [May 30, 2025, 2:46pm UTC](https://community.traefik.io/t/documentation-migration-of-pathprefix/27649/1 "2025-05-30T14:46:21Z")

</div>

Hello,  
I was reading the migration documentation for traefik 3.4.1 [Traefik Migration Documentation - Traefik](https://doc.traefik.io/traefik/migration/v3/#v341)

It says that now, encoded entities are kept encoded

In the PathPrefix matching examples we find :

| URI | rule | v3.4 | v3.4.1 | my understanding |
| --- | --- | --- | --- | --- |
| /foo%2Fbar | PathPrefix(/foo/bar) | Match | No match | logical for 3.4.1 `%2F` is not a `/` |
| /foo/../bar | PathPrefix(/foo) | No match | No match | No match because once resolved, it is `/bar` |
| /foo/../bar | PathPrefix(/bar) | Match | Match | match because once resolved, it is `/bar` |
| /foo/%2E%2E/bar | PathPrefix(/foo) | Match | No match | if you keep `%2E` encoded, why 3.4.1 does not match `/foo`? |
| /foo/%2E%2E/bar | PathPrefix(/bar) | No match | Match | if you keep `%2E`encoded, why 3.4.1 finds /bar as a prefix? |

Is there something I don't get from the documentation logic? Sorry if it is just inattention from me.
