Для шаблона URL http://mysite/somedirectory/
у вас может быть такой обработчик:
- url: /(.*)/$
static_files: www/\1/index.html
upload: www/.*/index.html
Конечно, этот обработчик должен быть вставлен перед универсальным обработчиком, который у вас уже есть.
Но с шаблоном URL http://mysite/somedirectory
все сложно, поскольку вы не можете определить, представляет ли somedirectory
файл и должен ли он обслуживаться как есть, или каталог, и в этом случае должен обслуживаться соответствующий index.html
.
Если вы не следуете строгому правилу, которое можно использовать для различения файлов от каталогов. Например, если вы знаете, что все ваши файлы имеют .
в своих именах и расширение имени файла после него, а все каталоги не имеют .
в своих именах, тогда вы можете использовать пара таких обработчиков:
# a "." in name means a file, serve as-is:
- url: /(.*\/[^\/]*\.[^\/]*)$
static_files: www/\1
upload: www/.*
# no "." in name means a directory, serve corresponding index.html:
- url: /((.*))$
static_files: www/\1/index.html
upload: www/.*/index.html
Поскольку эта пара сама становится универсальным фильтром, она должна быть помещена последней (все остальные обработчики, которые могут быть у вас, должны быть помещены перед ней), заменяя имеющийся у вас универсальный обработчик.
person
Dan Cornilescu
schedule
31.10.2018