Struktura URLi Code Ignitera
14 July 2008
Comments
Cele
- Poznanie budowy linków URL frameworka- Poznanie sposobów ich modyfikacji
CI używa przyjaznego wyszukiwarkom i ludziom mapowania adresów URL i zmiennych. Podstawowy link w CI ma postać
www.strona.pl/index.php/klasa/metoda/ www.strona.pl/index.php/klasa/metoda/parametr/ ....
Z adresu URL można pozbyć się "index.php" w celu osiągnięcia jeszcze ładniejszych URLi. By to zrobić musimy wykorzystać mod_rewrite serwera Apache. Na większości hostów będzie to działało lecz nie wszędzie. W głównym katalogu CI (tam gdzie jest index.php) umieść plik .htaccess (z kropką na początku) o zawartości:
RewriteEngine on RewriteCond $1 !^([a-zA-z0-9/]) RewriteRule ^(.*)$ index.php [L] RewriteCond $1 !^(index.php|images|robots.txt|system|user_guide) RewriteRule ^(.*)$ index.php/$1 [L]
Jeżeli nie ma błędu serwera to trzeba sprawdzić czy mod_rewrite mimo wszystko działa. W poprzednim artykule mieliśmy testowy przykład pod linkiem index.php/test/ - sprawdź teraz czy zadziała link /test/ (np.: http://localhost/html/ci/test/ lub http://localhost/html/ci/test). Jeżeli działa to mod_rewrite działa i można z niego skorzystać, jeżeli nie to niestety nie pozbędziemy się index.php z linków. Dalej omawiane przykłady nie będą zawierały tej modyfikacji :)
Code Igniter jest trochę oporny jeżeli chodzi o współpracę z mod_rewrite. Jeżeli masz problemy to nie stosuj skróconych linków.
Sufiksy URLi
W pliku config/config.php naszej aplikacji możemy podać sufiks URL czyli coś co dodane będzie na końcu ścieżki "zmiennych". Znajdź $config['url_suffix'] = ""; i wstaw jakąś wartość, np: $config['url_suffix'] = ".html"; - teraz również linki typu:http://localhost/html/ci/test.html http://localhost/html/ci/test/.html
RkBlog
Comment article