That is an error in the user-configuration, not in lighttpd. The most-specific matches need to be listed before the more general matches.
You can run lighttpd -f /etc/lighttpd/lighttpd.conf -p
to print out the entire configuration as it is parsed by lighttpd. Then you can identity the place(s) with alias.url
ordering issues.
The lighttpd documentation provides some examples how to use variables to share configuration in different scopes. The examples might give you ideas how to more easily manage the list of aliases.
https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSetEnv