Ошибка 500 в несуществующем каталоге

1

Мой .htaccess настроен следующим кодом, так что prohackr112.tk/page1.html и prohackr112.tk/page2.php доступны через prohackr112.tk/page1 и prohackr112.tk/page2.

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

Но когда я пытаюсь получить доступ к каталогу, который действительно является html файлом (например, prohackr112.tk/page1/indir), я получаю ошибку внутреннего сервера 500. Почему это не просто ошибка 404? Если это проблема с моей .htaccess, как я могу настроить его так, что это 404 ошибка?

EDIT: Когда я пытаюсь перейти к prohackr112.tk/page.html/indir он просто дает мне page.html.

  • 1
    Первая остановка для ошибки 500: журнал ошибок сервера. пока вы не знаете ТОЧНО, в чем заключается ошибка, не высовывайте случайные вещи, пытаясь угадать, в чем проблема. это может быть синтаксическая ошибка .htaccess, может быть бесконечный цикл перенаправления, может быть, что кто-то мочился в кукурузные хлопья вашего Apache сегодня утром, и у него плохой веб-день.
  • 0
    Я впервые получил эту ошибку около недели назад, и она все еще дает мне то же самое здесь . И я не знаю, как найти журнал ошибок; я использую 000webhost ...
Теги:
.htaccess

1 ответ

0
Лучший ответ

Вы можете попробовать свои правила следующим образом:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+?)/?$ $1.html [L]
  • 0
    Я все еще получаю ту же 500 внутреннюю ошибку сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню