cPanel's installation by default installs and enable mod_autoindex. This causes Apache to display the list of files and folders of a directory whenever DirectoryIndex files such as index.html or index.php are not present.

You can typically edit Apache HTTP server configuration file to disable directory listing, but it's not accessible from a cPanel account.

You can disable directory browsing in Apache for cPanel from the cPanel's dashboard.

Step-by-step video guide:

Steps to disable directory listing in cPanel:

  1. Log in to your cPanel account.
  2. Go to Advanced section and click on Indexes.
  3. Select the web directory that you want to disable directory listing on.

    Click on the folder icon to browse the directory and click on the folder name to select the particular directory.

    public_html is the root of the web folder and selcting it will apply the setting to all the subsequent subfolders. Some hosting also has www which is just a softlink to public_html so effectively they're both the same directory

  4. Select No indexing from the option and click on the Save button.

    What happens in the background is cPanel will append the following line to the folder's .htaccess file to disable directory listing.

    Options -Indexes

    New .htaccess file will be created if it doesn't already exist.

  5. Go back to the directory list and notice the icon on directories with directory listing disabled.
Discuss the article:

Comment anonymously. Login not required.