Problemy z dostępem CodeIgniter i przepisem URL

Nigdy wcześniej nie korzystałem z CodeIgniter, nie mówiąc już o JAKICHKOLWIEK strukturach php i pomyślałem, że spróbuję. Wszystko idzie dobrze, chyba że nie mogę usunąć index.php z adresu URL i nadal mam dostęp do moich stron.

Nigdy nie korzystałem ze struktury MVC, więc uczę się, kiedy idę, więc wybacz mi, jeśli robię to źle.

Próbuję uzyskać dostęp do utworzonego przeze mnie widoku o nazwie „about_page.php” po prostu wpisująclocalhost / ci / about ale obecnie mogę uzyskać do niego dostęp tylko za pomocąlocalhost / ci / index.php / about

Kontroler strony to:/application/controllers/about.php
Model strony to:/application/models/about_model.php
A widok strony to:/application/views/about_page.php

Szukałem rozwiązania tego problemu, ale nie udało mi się go znaleźć. Oto, gdzie już szukałem:

CodeIgniter - usuwanie index.php
Codeigniter - jak usunąć index.php z adresu URL?
http://www.farinspace.com/codeigniter-htaccess-file/

CodeIgniter zawiera plik .htaccess w folderze „application”, który zawiera tylkoAllow Deny From All. Dlatego utworzyłem nowy plik .htaccess w katalogu głównym,http://localhost/ci/.htaccess i dodałem do niego ten kod:

RewriteEngine On
RewriteBase /ci
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Gdy plik .htaccess znajduje się w katalogu głównym, otrzymuję 500 wewnętrznych błędów serwera. Gdy skopiuję dokładnie ten sam plik do folderu aplikacji, błąd 500 zniknie, ale nadal nie mogę uzyskać dostępu do strony o użyciu za pomocąlocalhost / ci / about

Już się zmieniłem$config['index_page'] = 'index.php'; do$config['index_page'] = ''; I próbowałem się zmienić$config['uri_protocol'] = 'AUTO'; do$config['uri_protocol'] = 'REQUEST_URI'; ale wciąż otrzymuję Wewnętrzny błąd serwera.

Poszedłem do pliku httpd.conf i odkomentowałem moduł mod_rewrite.so, więc wiem, że mod_rewrite jest aktywny.

Czy ktoś ma jakieś pomysły, dlaczego to nie działa lub jak mogę uzyskać tę pracę? Wiem, że istnieje wiele pytań dotyczących StackOverflow na ten temat, ale nie mogłem znaleźć odpowiedzi na moje pytanie.

Czy robię to dobrze? Czy powinienem być w stanie uzyskać dostęp do strony, odwiedzając ją?localhost / ci / about czy muszę utworzyć katalog „about” w katalogu „application”?

questionAnswers(10)

yourAnswerToTheQuestion