Если вы сохраняете имена, закодированные в файловой системе, вы должны удвоить urlencode ссылок и источников изображений, если хотите получить к ним прямой доступ, минуя PHP. В качестве альтернативы, вы можете сохранить имена без какого-либо urlencoding, в этом случае ссылки потребуются один проход. Однако этот последний параметр недоступен в Windows, где Unicode не поддерживается в функциях файловой системы.
В качестве альтернативы, если вы все еще хотите обойти PHP, вы можете использовать правила перезаписи, чтобы перекодировать имена после их кодирования в Apache.
Наконец, вы должны принять к сведению, что ваш подход опасен - его сложно понять без последствий для безопасности. Вы должны рассмотреть один файл PHP, обслуживающий ваши страницы и сохраняющий их в базе данных. Вы все еще можете сохранить красивые имена файлов, используя переменную PATH_INFO. Вы также можете добавить слой кэширования перед PHP, если производительность становится проблемой с этим решением.