2012-07-19 16 views
7

Wdrażam Slim Framework dla PHP i wszystko wydaje się działać dobrze. Jednak tylko w ten sposób mogę zmusić go do pracy jest przez umieszczenie /index.php w adresie URL tak:Jak uzyskać Slim Framework do pracy bez konieczności wstawiania /index.php w adresie URL?

http://www.example.com/index.php/members/1

chcę pracować tak:

http://www.example.com/members/1

mam wrażenie, że ma coś wspólnego z moim .htaccess, ale nie jestem pewien. Tu jest mój .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f 
# RewriteRule^./index.php [QSA,L] 
RewriteRule^. [QSA,L] 
+0

ten sam problem ... mogę dostać/przekierowanie do index.php ale wszelkie subdirs nie są przekierowywane ... –

Odpowiedz

5

Przywracanie skomentował (#) linii i pozbycie się drugiego powinno pomóc. Po pobraniu Slim Framework, to również originally had this in the .htaccess.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^./index.php [QSA,L] 

Ponadto, powinieneś learn about writing rewrite rules, ponieważ nie będziesz się daleko bez niego.

+0

Dzięki, @bazmegakapa. To, co pierwotnie miałem w moim pliku .htaccess, ale nadal nie działa. Mam przeczucie, że mój silnik Rewrite może nie być włączony. Próbuję to zrobić teraz. – Progger

4

Myślę, że ta odpowiedź przychodzi późno, ale po informacji o tym linkiem http://docs.slimframework.com/routing/rewrite/
co potrzebne było, aby dodać AllowOverride All oświadczenie do mojej konfiguracji wirtualnego hosta, i że pracował dla mnie.

+0

Nie spóźniłem się wcale, pomogło mi ... zupełnie zapomniałem skonfigurować tę funkcję na moim nowym serwerze;) Dzięki! – andufo

0

Sprawdź swojego wirtualnego hosta i zezwól naOverRide wszystkie.

RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^/index.php [QSA,L]