Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter]domyślna ścieżka w codeigniter - błąd 404
Forum PHP.pl > Forum > PHP > Frameworki
furious_knight
Witam,

Mam problem z działaniem codeignitera. Po wrzuceniu frameworka na serwer i wpisując w przeglądarce adres przykladowa-domena.pl/codeigniter/ odpala mi się domyślny kontroler "welcome.php", tworząc na początek sesje logowania po wciśnięciu przycisku loguj wyskakuje komunikat "404 - The request /agap/login was not found on this server.", dodatkowo jak spróbowałem odpalić prawidłowo wyświetlający się startowy "welcome" po wpisaniu przykladowa-domena.pl/folder/welcome/index/ wyskakuje mi ten sam komunikat.

Jak na razie wykonałem:

1. w config.php usunąłem index_page i dodałem base_url w postaci 'http://domena.pl/folder/'
2. w htaccess dopisałem zalecany w podręczniku kod:

  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^(.*)$ index.php/$1 [L]


3. baza danych jest na innym serwerze niż domena więc skopiowałem na wewnętrzny w firmie ftp i odpaliłem to samo jeszcze raz ale z wewnętrznego ip, z tym samym rezultatem....

podejrzewam że albo zamuliłem i przeoczyłem coś banalnego albo mam jakąś niezgodność codeignitera z wersją php na serwerze (home.pl) jakiś pomysł co robię nie tak lub co przeoczyłem??

z góry dzięki za podpowiedź



nikt nie ma pomysłu??
gitbejbe
albo źle tworzysz odnośniki albo źle odwołujesz się do kontrolerów

EDIT:
Albo to i to ;p
furious_knight
Niestety tak proste to nie jest:) po dalszej diagnozie problemu wynika że prawdopodobnie mam problem ze spójnością wersji php lub sql na home.pl z najnowszą wersją codeignitera...
doszedłem do tego kopiując pliki z folderów controllers i view do pewnej stronki X którą postawiłem rok temu na tym samym serwrze też używając codeignita. Po wklejeniu tych plików do folderu X i wywołując (już na innej domenie opartej o folder X) ścieżki działają prawidłowo!!, w związku z tym ze nie mam teraz zbytnio czasu skopiowałem wersję codeignitera z tego folderu i na nim buduję aplikację... ale w temat się wczytam i podam rozwiązanie! ale jak ktoś ma wiedzę która pozwoli mi dojść szybciej do setna problemu to będę wdzięczny.
Pyton_000
na stronie home.pl masz w pomocy jak przestawić wersję php poprzez .htaccess bo pewnie domyślnie masz 5.2 ustawione
furious_knight
Nie no bez pomocy bardziej doświadczonych kolegów nie ruszę z tym projektem używając CI.. co z tego że praca z nim jest szybsza skoro z konfiguracją są same cyrki....
więc od początku

- teraz ściągnąłem najnowszą wersję xampp V3.2.1 która korzysta z wersji PHP 5.6.3 i apache 2.4.10
- zainstalowałem dwie wersje CI w równoległych folderach, pierwsza jest z przed roku, druga ściągnięta prosto ze stronki 2.2

wersja CI z przed roku:

po zainstalowaniu, konfiguracji bazy, i plików w folderze config:
domyślny kontroler - home.php -> sprawdza czy jest ktoś zapisany w sesji logowania jeżeli nie to otwiera kontroler login.php i w tej wersji wszystko gra, odpala się widok z panelem logowania.

po zalogowaniu i pracy na formularzach przy dodawaniu wpisów do bazy danych po kilku dodaniach wyskakuje błąd :


A PHP Error was encountered

Severity: Notice

Message: Array to string conversion

Filename: mysql/mysql_driver.php

Line Number: 541

A Database Error Occurred

Error Number: 1054

Unknown column 'Array' in 'field list'

INSERT INTO `form` (`formularz`) VALUES (Array)

Filename: C:\xampp\htdocs\aqap\system\database\DB_driver.php

Line Number: 330


dla pewności że w bazie nie zostają jakieś zapytania "zombie" po każdym wykonaniu $this->db.... robię $this->db->close(), ale g**no to daje....:/

no dobra ale mniejsza w to w końcu to starsza wersja więc instaluję nową (2.2) ze stronki CI:

Analogicznie jak w wersji starszej po zainstalowaniu, konfiguracji bazy, i plików w folderze config:
domyślny kontroler - home.php -> sprawdza czy jest ktoś zapisany w sesji logowania jeżeli nie to otwiera kontroler login.php i tutaj JEST TA BEZNADZIEJNA SYTUACJA bo wczytuje home.php a nie otwiera kontrolera login.php i wyskakuje 404!?!?! mimo że używam tej samej ścieżki co w wersji wcześniejszej (w pliku config.php zmieniłem ścieżkę base_url z http://localhost/1_7/ na http://localhost/2_2/) treść 404:


Nie znaleziono obiektu!

Nie znaleziono żądanego URL-a na tym serwerze. Odnośnik na referującej stronie wydaje się być nieprawidłowy lub nieaktualny. Poinformuj autora tej strony o problemie.

Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.

Error 404

localhost
Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3

CIEKAWOSTKĄ która może pomóc w rozwiązaniu problemu jest to że jeżeli wpiszę w pliku routes.php domyślny kontroler welcome.php czy wpiszę home.php czy nawet login.php to odpala się bez problemu ale jeżeli wpiszę w ścieżce url http://localhost/welcome/ to ni cholery nie chce ruszyć do tego jak jak w przypadku opisanym powyżej jeżeli automatycznie pobiera kontroler home.php ale funkcja warunkowa wewnątrz nakazuje mu przekierowanie na login.php to wyskakuje 404, wystarczy ze w routes.php zmienię na login i login.php się odpala

to jest bez sensu ale na logiczny rozum wskazuje winę CI a nie wersji php czy czego kolwiek innego. Bardzo proszę o pomoc w rozwiązaniu tego problemu bo jeszcze chwila a naprawdę zrażę się do tego CI.
Pyton_000
A dodaj może do htaccss po On...
Kod
RewriteBase /
furious_knight
Jeżeli na forach też można wystawiać tak zwane "karne ku*asy" to ewidentnie jeden mi się należy, tak skupiłem się na szukaniu błędu w strukturze CI że przeoczyłem coś oczywistego błąd był związany z plikiem .htaccess i tu info dla zaczynających pracę w CI a którym nie chciało się przeczytać manuala od deski do deski.
W strukturze plików CI umieszczamy .htaccess w równej linii z folderami application, system i user_guide!!!!!, nie wiem czemu ale w application z automatu tez jest .htaccess i do tego index tylko że .html

temat rozwiązany dzięki za nakierowanie Pyton_000
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.