• O stronie
  • Projekty
    • CodeIgniter IMG
    • CodeIgniter minify
    • Simple FAQ
  • Narzędzia
    • GeoIP
    • konwerter WebP
    • Tools
    • Sprawdź szybkość strony
  • Linkownia
  • Kontakt
blog web developera

blog web developera

  • O stronie
  • Projekty
    • CodeIgniter IMG
    • CodeIgniter minify
    • Simple FAQ
  • Narzędzia
    • GeoIP
    • konwerter WebP
    • Tools
    • Sprawdź szybkość strony
  • Linkownia
  • Kontakt

CodeIgniter 4 – jak zacząć – htaccess i redirecty

Ci4 pojawił się już chwilę temu, o czym pisałem tutaj. Najbardziej upierdliwa jest początkowa konfiguracja, która zakłada że trzymamy wszystko poza public_html. Ma to sens, ale nie wszędzie jest to możliwe – a na pewno w moim środowisku developerskim wygodniej jest mi trzymać zadany projekt w jednym folderze.

Przedstawię tutaj szybką konfiguracje i przykładowe .htaccess które pozwolą odpalać projekty po staremu. Jak dokładnie – a tak, że mamy dostęp do projektu przez folder np.: http://localhost/projekt a całość jest plików jest serwowowana np. z folderu ./root/projekt.

Zaczynamy od pobrania composera, a następnie odpalamy:

./composer.phar create-project codeigniter4/appstarter projekt

Oczywiście odpalamy to w folderze ./root dzięki temu nasz appstarter zainstaluje sie w folderze /root/projekt.

Potem zaczyna się zabawa. W folderze projekt tworzymy plik .htaccess o takiej treści:


SetEnv CI_ENVIRONMENT development
RewriteEngine On
RewriteBase /projekt/

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

W tym folderze musimy też dodać plik .env

app.baseURL = 'http://localhost/projekt/'
app.indexPage = ''
app.uriProtocol = 'PATH_INFO'

I teraz jak klikniemy http://localhost/projekt/home/index to otworzy nam się kontroler Home i metoda Index . Niestety domyślny kontroler, który powinien ładowac się po wejściu na http://localhost/projekt/ wywala na błąd:

Controller or its method is not found: \App\Controllers\Projekt::index

Można temu zaradzić na dwa sposoby. Pierwszy to utworzenie “brakującego” kontrolera, albo zmiana Home.php na Projekt.php – drugi jest łatwiejszy. Do pliku app/Config/Routes.php dopisujemy nową regułę:

$routes->get('/projekt/', 'Home::index');

Dlaczego domyślny routing nie działa – nie wiem. Dla projektu umieszczonego w głównym folderze, lub kierowania dokument root na /public – problem nie występuje.

02/09/2020 CodeIgniter Programowanie
No Comments
codeigniter

Sprawdzanie lokalizacji IP i PTR

Generowanie żądań certyfikatów on-line

Dodaj komentarz Anuluj pisanie odpowiedzi

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Szukaj

Kategorie

  • Ogólnie
    • Humor
    • Pamiętnik malkontenta
  • Programowanie
    • CodeIgniter
    • CSS
    • GoLang
    • JavaScript
    • PHP
  • Przydatne
    • CMS
    • Przedruki
  • Sprzęt
    • Mac
    • Serwery

Reklamy





Digital Ocean

Popularne wpisy

  • Lista publicznych API
  • HP LaserJet 1018 i Mac OS X
  • pfSense kilka smutnych wniosków
  • Dowcipy o Francuzach
  • Szybki podgląd PSD, AI i EPS
  • Centralka VoIP czyli Asterisk i FreePBX
  • Darmowy OCR online
  • Jak używać SCP
  • Lista symboli HTML kopiuj i wklej
  • Jak sprawdzić prędkość WiFi na Mac
Dumnie wspierane przez WordPressa | Motyw: Neblue by NEThemes.