0

We recently ran into an issue with some of our auto-generated URL title on channel entries. It seems that EE will happily allow characters like periods in URL titles. For example if I had a tile like U.S. Tops in EE Installs then the generated URL title is u.s.-tops-in-ee-installs. The periods can become an issue in some cases. Specifically they seem to throw off the EE Session Tracker Array, causing it to be NULL which is what caused our problem. So my questions are:

  1. Why does EE even allow these kinds of characters in URL titles?
  2. Is there a setting or way to define a list of disallowed characters to be stripped from URL titles?
  • Why does EE even allow these kinds of characters in URL titles? They are valid in URLs, but more specifically, some sites require dots and extensions to mimic files, product IDs, or other existing names/assets/resources, etc. It does sound like you have discovered a bug though. Do you mind putting in a report so our engineers can take a look? – Derek Jones Aug 8 '14 at 20:46
  • I'd be happy to file a report. Thanks Derek. – Adam Christianson Aug 13 '14 at 1:05
1

Pop open your config file: /system/expressionengine/config/config.php

Look for a config option for 'permitted_uri_characters' - if you don't have it, you can add the line:

$config['permitted_uri_chars'] = "a-z 0-9~%.:_\-";

This is what I use (and I think it's the default). But you should be able to just remove the period.

If you use Structure (or similar), there's probably additional steps you'll want to take. So make sure you do proper testing, and so on.

| improve this answer | |
  • Perfect. This is exactly what I was looking for. Thanks. – Adam Christianson Aug 13 '14 at 0:55
  • This might not be the answer. I went to the config.php and I see this in the comments: The following items are for use with ExpressionEngine. The rest of the config items are for use with CodeIgniter, some of which are not observed by ExpressionEngine, e.g. 'permitted_uri_chars' – Adam Christianson Aug 13 '14 at 1:00
  • Ok, so there for sure is some conflicting information here. This github does show that permitted_uri_chars IS a hidden variable for EE, so what's reality? – Adam Christianson Aug 13 '14 at 1:07
  • I think this is going to be a case of "try and and see what happens." You have a dev site you can test on? Try updating that item in config.php. Clear your caches for good measure. Then try creating a new post. As you fill in a title, the page url should drop the unallowed characters. And if you try to save the page w/ unallows chars in the URL, it should give you an error... – SamC Aug 14 '14 at 15:53
  • Good advice @SamC and yes I do have a dev environment to test in. – Adam Christianson Aug 15 '14 at 17:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.