Make sure that the SD is initialized and root points to the root directory. This has been tested using an ArduinoMega 2560 with a Wiznet 5100 based ethernet shield.
This snippet shows how to use Webduino's setUrlPathCommand to serve files from the root directory of an SD card.
It supports:
Listing: curl "192.168.1.80/fs"
Download: curl "192.168.1.80/fs/TESTFILE.INO"
Delete: curl -X DELETE "192.168.1.80/fs/TESTFILE.INO"
Add the following line to the Ethernet/Webduino initialization: webserver.setUrlPathCommand(&fsAccessCmd);