The [`DirectoryIndex`][1] directive does not control *access* to the directory's contents. Access/permissions are usually specified in the [`Directory`][2] items.

If you look at the error-log, e.g., `/var/log/httpd/error.log` (different with different systems), you might see an error with this message:

 attempt to invoke directory as script

for which the [documentation][3] says

>This occurs when Apache is configured with `ScriptAlias` or `SetHandler` and a request is made for a directory path. The problem is that under those circumstances, all resources under a certain path are considered to be executable.
>
>To get around this and allow `DirectoryIndex` to work again, use `AddHandler` with `Options` `ExecCGI`, or `SetHandler` in a `<Files>` stanza.

and it gives an example which you may find useful, by turning off the `ScriptAlias`, and restoring the equivalent using ` AddHandler cgi-script cgi pl` within the `Directory` options. 


 [1]: https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex
 [2]: http://httpd.apache.org/docs/2.2/mod/core.html#directory
 [3]: https://wiki.apache.org/httpd/DirectoryAsScript