sicuro che vuoi la AND & come operatore bitwise e non invece una AND && come operatore logico?
Nella mia ignoranza in questo specifico contesto in cui l'operazione AND è tra due condizioni e ciascuna può essere solamente vera (1) o falsa (0) non vedo quale differenza ci si potrebbe aspettare nell'output, tuttavia ho provato a caricare la stessa pagina con la && al posto della & e il risultato non è variato.
Credo che il problema non sia nel codice perché se così fosse il risultato dovrebbe rimanere costante nel tempo, invece una directory prima accessibile è diventata inaccessibile senza che il codice venisse variato e lo stesso codice funziona rinominando la directory "maiale", "gallina", "pollo" e cessa di funzionare se la directory si chiama "mucca" o "coniglio"...
Grazie!