Одиночная точка входа .htaccess показывает 500 внутренняя ошибка

1

Я пытаюсь создать единую точку входа для моего приложения php mvc. Я использую apache2 как php-сервер в своей операционной системе ubuntu 14.04.

Мое дерево приложений:

локальный /MVC

я. контроллеры

II. модели

III. Просмотры

внутривенно Webroot

а. index.php b. .htaccess

v..htaccess

Мой корневой каталог.htaccess:

<IfModule mod_rewrite.c >
    RewriteEngine on
    RewriteRule ^$ webroot/ [L]
    RewriteRule (.*) webroot/$1 [L]
</IfModule>

И код webroot/.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [PT, L]
</IfModule>

Но это показывает, как указано 500 статусных кодов:

Внутренняя ошибка сервера Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.

  • 0
    Ошибка 500 - это просто общий тип ошибки "что-то не так". Это может означать тысячи вещей, однако правила, скорее всего, ваша проблема. Проверьте ваш журнал ошибок apache для более подробной информации о том, в чем проблема. По умолчанию это /var/log/Apache2/error.log и будет иметь фактическую причину ошибки.
  • 0
    Я пытался, но все еще не работает. 500 внутренняя ошибка. Пожалуйста, помогите, я страдаю от этого долгий час.
Показать ещё 4 комментария
Теги:
.htaccess

1 ответ

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

Эта строка является проблемой:

RewriteRule ^(.*)$ index.php [PT, L]

Поскольку после PT, есть пробел. Синтаксис mod_rewrite довольно жесткий, и он нигде не пропускает лишние пространства.

Ваш webroot/.htaccess может быть:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [PT,L]
</IfModule>

Ещё вопросы

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