There are several ways to protect a directory from URL access but most of these will also block your website from being able to access them. Heres what you do to protect a directory from being accessed by a URL but still let your website access the contents of the directory.
Open the directory you want to protect and create a new file called “.htaccess”. Open the file and add the following line of code.
Options -Indexes
Save the file and try access the directory. You should get a forbidden error e.g. “You don’t have permission to access /images/ on this server.”. If you check your website the images should still be showing up.
You will need to add a .htaccess file to every directory that you want to protect.