У меня есть проект codeigniter, установленный в/var/www/html. URL-адреса должны выглядеть следующим образом: http://example.com/clients/abc Я бегу CentOS и Apache 2.2.15.htaccess не читается правильно из DocumentRoot dir
Для того, чтобы получить маршруты для правильной работы я включен mod_rewrite (который я могу видеть на через phpinfo.php) и AllowOverride All в httpd.conf.
My documentroot, определенный в httpd.conf, является/var/www/html.
файл .htaccess в каталоге/вар/WWW/HTML является:
<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
Просто это само по себе я получаю 404 страниц на всех моих контроллеров и ни один из моих contollers/мнения не делают, кроме индекса.
Однако. Если создать второй файл .htaccess в каталоге/вар/WWW и поместить одну строку в ней:
ErrorDocument 404 /index.php
Теперь мои переписывания работы и мои контроллеры и все мои страницы загружается должным образом. Однако я все еще получаю 404 страницы, которые не найдены в firebug, но мои страницы все еще загружаются.
Существует какая-то странная и сумасшедшая вещь, которая происходит здесь, что я не понимаю и не уважаю. Двойные переадресации? Apache не знает, что означает DocumentRoot? Почему файл /var/www/html/.htaccess не распознается, если у меня нет другого файла .htaccess в/var/www?