zfcampus/zf-apigility-admin — pull request #215 by weierophinney (2014-08-13 16:22:25+00:00)
Title: url-encoded backslashes cause issues in Apache

By default, Apache does not allow url-encoded slashes (either forward or back), and requires you to set the directive "AllowEncodedSlashes On" in the server and/or vhost configuration to allow them.

The Apigility Admin API, however, uses controller service names as URL identifiers for many services -- which all include backslashes. As such, any requests that have paths using those identifiers fail on Apache as 404s.

The solution will be one of the following:

- use the short service name as the identifier in the URLs. Since we're storing this, we can dynamically map them to the appropriate controller service name when needed.
- do a pattern replacement, substituting the backslash with another characte when generating URLs, and vice-versa on incoming requests.

The second would likely be easiest, while the first would be more correct, and allow more portability later.