mrlowalowa:
int BUFSIZ = 255;
...
char clientline[BUFSIZ];
Du verbrauchst RAM-Speicher als wenn ein UNO davon beliebig viel zur Verfügung hätte.
Sobald Du die SD-Library verwendest, ist mehr als der halbe RAM-Speicher auf einem UNO bereits weg.
D.h. in jedem Sketch, in dem die SD-Library verwendet wird, mußt Du EXTREMES AUGENMERK AUF DEN RAM-VERBRAUCH legen!
Mal eben 255 Bytes für einen Zeilenpuffer?
Stelle das auf den Prüfstand, ob nicht vielleicht auch 80 Zeichen reichen!
Und sowas
client.println("<html><head><title>404 - Not Found</title></head><body><h1>404 - Not Found</h1></body></html>");
ist die totale Verschwendung von RAM! Verwende bei print und println mit Textkonstanten als Parameter immer das F-Makro:
client.println(F("<html><head><title>404 - Not Found</title></head><body><h1>404 - Not Found</h1></body></html>"));
.