Я создал тестовый каталог под названием «rewrite» и поместил .htaccess
файл внутри с правилом перезаписи.
Когда я перехожу по этому URL-адресу через браузер, я получаю внутреннюю ошибку сервера 500.
Поэтому я подумал, что это мой синтаксис перезаписи, и попробовал внести несколько изменений, то же самое. Затем я закомментировал все с # в каждой строке. То же самое.
Затем я заметил, что каталог не отображается в родительском каталоге (в котором нет индексного файла).
Итак, я попытался изменить имя файла на .htaccess_bad
, и появится каталог.
Затем я снова изменил его на .htaccess и очистил файл, так что это пустой файл. Каталог по-прежнему отображается.
Наконец, я добавил один знак # в файл .htaccess и альт, каталог снова исчезнет.
Я думал, что проблема может заключаться в том, что в родительском каталоге есть файл .htaccess с флагом [R] в правиле перезаписи, но его удаление не устранило проблему.
Любая помощь в том, что попробовать дальше или почему это происходит?
Даже разрыв строки вызывает проблемы. (так что, кажется, он должен быть действительно пустым).
Я думаю, ваш файл .htaccess находится в DOS
формат и он должен быть в Unix
формат.
Не сохраняйте .htaccess в кодировке UTF-8 и не конвертируйте его в обычный ansi. В моем случае серверу не нравится эта спецификация в самом начале файла.
Notepad ++ - это круто. Попробуй это:
Правка -> Преобразование EOL -> Преобразовать в формат UNIX
Ну, у меня никогда раньше не было этой проблемы, но ...
Когда я открыл Putty и отредактировал файл .htaccess на стороне сервера, все заработало.
Это один балл для Notepad ++.