Hi,
i have a template with allowed urlSegments. No other restrictions in the template. My test template is simple. Just trying to get and echo the url segment.
But the problem is, if I use _ (or - or .) together with uppercase characters, my template file is never processed. The 404 redirect happens before.
this works:
/url/aa_aa (or /url/aa-aa)
but these fail, also with - and .
/url/Aa_aa
/url/aA_aa
/url/aa_Aa
/url/aa_aA
So it doesn't matter where the uppercase character is.
<?php namespace ProcessWire;
if($input->urlSegment1) {
echo $input->urlSegment1
}
Processwire version 3.0.210 with Php 8.2
$config->maxUrlSegments = 8;
$config->pageNameCharset = 'UTF8';
$config->pageNameWhitelist = '-_.abcdefghijklmnopqrstuvwxyz0123456789æåäßöüđжхцчшщюяàáâèéëêěìíïîõòóôøùúûůñçčćďĺľńňŕřšťýžабвгдеёзийклмнопрстуфыэęąśłżź-FISEN';
My site is multilingual and this might have something to do with that. In my 404 logs i get something like this:
2023-03-03 12:35:19 41 /url/aa-aA page doesn't exist [IP: 127.xxx.xxx.xxx] [UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36]
2023-03-03 12:35:24 41 /fi/url/aa-aA page doesn't exist [IP: 127.xxx.xxx.xxx] [UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36]
Any help appreciated. We actually have this bug in production at the moment...