Это не детальное рассмотрение предмета, а упрощенное объяснение, чтобы ответить на вашу дилемму. Ответ в том, что вам нужно отказаться от попытки сделать то, что вы делаете.
Веб-серверы могут обслуживать только определенные файлы, такие как файл xyz.html. Они не могут обслуживать папки.
Вызов https://www.example.com/abc/index.html
- это запрос файла index.html в папке abc корневого веб-каталога. С другой стороны, вызов https://www.example.com/abc
- это запрос к папке abc веб-корня, который, как уже упоминалось, не может быть обработан.
Однако, как вы заметили, при втором вызове https://www.example.com/abc/index.html
обслуживается. Это связано с тем, что веб-серверы обычно настраиваются таким образом, чтобы при обращении к папке без указания конкретного файла для обслуживания создавалось перенаправление в файл index.html в этой папке, который вместо этого обслуживается. То есть веб-сервер внутренне превращает запрос на https://www.example.com/abc
в запрос на https://www.example.com/abc/index.html
.
Это то, что делает строка index index.php index.html index.htm;
в вашей конфигурации. Он говорит: «Если есть запрос на папку без указанного файла, вместо этого укажите файл index.php. Если такого файла нет, укажите файл index.html. Если такого файла нет, укажите файл index.htm. . Если этого тоже не существует, подбросьте "
Проблема в том, что вы затем продолжаете инструктировать свой веб-сервер перенаправлять запросы на https://www.example.com/index.html
на https://www.example.com
, которые веб-сервер перенаправляет обратно на https://www.example.com/index.html
, который снова перенаправляется обратно на https://www.example.com
в бесконечном цикле до тех пор, пока веб-сервер или ваш браузер наконец сдаются.
Вы заявили, что I want to avoid having the same HTML page accessible on www.example.com and www.example.com/index.html, i.e i want to redirect the index.html to root.
Вопрос в том, почему? Это абсолютно бесполезно, и, как вы узнали, вы попадаете в цикл перенаправления.
Возможно, вы пытаетесь кое-что оптимизировать, но здесь это не относится.