Is it possible to rewrite URLs with query parameters (eg. https://shop.com/clothes/shirts?filter_material=wool)?

In general, the plugin can only be used to update existing permalinks, which you may change to almost whatever you want with few limitations. In the first place, given that all custom permalinks are stored statically in an array, you cannot define multiple canonical permalinks for the same page/term. This is primarily intended to decrease server resource consumption and processing time.

For the same reason, when a URL is opened and Permalink Manager parses it to determine which page it belongs to, the plugin ignores the $_GET variables (query parameters). As a result, you may not use the Permalink Manager plugin to rewrite the query parameters. To put it another way, it is not possible to format URLs with query parameters in order to convert them into pretty permalinks.

Standard custom permalink format:
https://shop.com/clothes/shirts/wool/blue

In custom permalinks, query parameters are not allowed:
https://shop.com/clothes/shirts?filter_material=wool&filter_color=blue

Additionally, given the same reason, it is impossible to do the opposite of what has been explained above. That is, it is not possible to construct a custom permalink format using Permastructures that include query parameters in the URL. Because of this, all non-alphanumeric characters, like question marks and ampersands, will be automatically removed from the custom permalink's (canonical URLs).

Query parameters in slugs

by Maciej Bis