htaccess en Alias

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Ik draai een CodeIgniter site welke al het verkeer reroute naar een index.php als volgt:
http://host/controller/function -> http://host/index.php/controller/function.

Dit werkt prima, maar ik heb ook een admin CodeIgniter application draaien op een andere locatie op de schijf, maar met een alias in mijn Apache conf. Ik wil de admin-app als volgt benaderen:
http://host/admin

Hier moet dus ook de CodeIgniter routing werken:
http://host/admin/controller/function -> http://host/admin/index.php/controller/function.

Belangrijk is dus dat CodeIgniter niet de admin toevoeging als controller ziet, maar deze met rust laat en dat dacht ik als volgt op te lossen in het .htaccess bestand:
code:
1
2
RewriteCond $1 !^(index\.php|robots\.txt|static|admin)
RewriteRule ^(.*)$ /index.php/$1 [L]


Dit werkt voor static prima, maar voor admin niet. Hij pakt gewoon nog steeds de frontend-applicatie en niet de admin-app. Heeft er iemand een idee wat ik toe moet voegen aan het .htaccess bestand? Ik heb me al rot gezocht, maar het moet zo simpel zijn dat ik gewoon niet weet waarop ik moet zoeken.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 18-09 19:18
Ik weet het niet helemaal zeker, maar ik heb het idee dat je reguliere expressie niet klopt. Je kijkt namelijk of de opgevraagde URL exact gelijk is aan admin, maar het is de bedoeling dat je Apache alles wat achter admin ook moet negeren voor de rewrite.

Ik denk dat onderstaande precies doet wat jij wilt. Als je het zo rechstreeks over neemt, moet je dat niet klakkeloos doen, maar even goed kijken wat er precies anders is. ;)

code:
1
RewriteCond $1 !^(index\.php|robots\.txt|static|admin.*)

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Bedankt voor het antwoord, maar dit werkt helaas ook niet. Hij route nog steeds alles door naar index.php. Bij de map static werkt het wel goed, maar hier dus niet.

Wat wel leuk is is dat als ik http://host/admin/index.php doe, dat ie dan wel goed gaat, maar aangezien ik niet ingelogd ben (voor het admin gedeelte) stuur ik hem door naar http://host/admin/login, wat ook weer een controller is, en die is dan weer niet te vinden.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Kiphaas7
  • Registratie: Februari 2005
  • Laatst online: 19-09 21:04
Misschien wat onzinnig, maar een functie in je codeigniter site die de request naar je admin CI app afvangt en doorstuurt naar je admin site?

Acties:
  • 0 Henk 'm!

  • larsjeh
  • Registratie: Oktober 2008
  • Laatst online: 19-09 08:30
Waarom zet maak je niet gewoon een subfolder in je application/controllers/
Ik ontwikkel mijn php applicaties namelijk ook in codeigniter en voor het admin gedeelte maak ik dan gewoon een subfolder aan.

Ik hoop dat dat is wat je zoekt?
hier een linkje met wat meer informatie daarover
Anders kan je ook altijd nog een nieuwe route aanmaken

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
@larsjeh:
Dat is inderdaad het meest logische, ware het niet dat dit Admin paneel niet alleen voor de website is (vandaar dus de alias). Ons oude admin-paneel voor alle web-gerelateerde dingen (website, mailings, enquetes etc) zat ook op /admin, daarom wilde ik dit behouden.

Heb het nu opgelost door gewoon http://admin.host te doen als CodeIgniter app. Werkt perfect. Dan maar geen /admin.

We hebben iets van 6 verschillende webapplicaties die in allemaal verschillende taaltjes geschreven zijn en ongedocumenteerd zijn. Ik ben het nu aan het omzetten naar meerder CodeIgniter applicaties met 1 basis. Omdat ik alles nu overzet kan ik het meteen documenteren :)

Engineering is like Tetris. Succes disappears and errors accumulate.

Pagina: 1