Challenge 3: Why "AllowOverride Indexes" Doesn't Turn On Directory Listing — Solution Walkthrough The two different things named "Indexes": "AllowOverride Indexes" is a permission -- it tells Apache that a .htaccess file in that directory is allowed to set directives related to directory-listing behavior, specifically IndexOptions, DirectoryIndex, and IndexIgnore. It's a gate, not a switch. "Options Indexes" is the actual switch -- it's the specific value of the Options directive that turns directory listing on in the first place (when there's no index file present, the server shows a generated listing of the directory's contents instead of a 403 or 404). Why granting the AllowOverride group alone doesn't enable listing: Setting "AllowOverride Indexes" only grants permission for a .htaccess file to touch directory-listing-related directives like IndexOptions -- it says nothing about the Options directive itself, which is a completely separate override group (named, confusingly, "Options"). Directory listing stays off (or on, whatever it already was from the enclosing config) until a .htaccess file actually contains its own "Options +Indexes" or "Options -Indexes" line -- and for that line to even be allowed to apply, the directory needs "AllowOverride Options" granted too, not "AllowOverride Indexes." WHY THIS WORKS AS AN ANSWER ------------------------------ This exercise checks that the reader can keep two same-named but functionally unrelated Apache concepts straight -- a permission group called Indexes, and a directive value also called Indexes -- which is exactly the kind of naming collision that causes real, confusing misconfigurations if the two are conflated.