Мод переписать правило на Zeus Server rule (Codeigniter) - PullRequest
3 голосов
/ 03 декабря 2008

Я собираюсь начать работу с сайтом на базе Codeigniter. Я хочу удалить index.php из URL, чтобы вместо этого:

http://www.mysite.com/index.php/controller

Я получаю что-то вроде этого:

http://www.mysite.com/controller

Пока все довольно просто. В прошлом я использовал правило перезаписи мода, предоставленное в документации Codeigniter:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

Это работает как шарм. Однако для этого сайта мне нужно использовать веб-сервер Zeus, а не Apache, и я совсем не знаком с ним. У Зевса есть свои собственные правила переписывания, такие что:

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^[^/]*\.html$ index.php

станет таким:

match URL into $ with ^/[^/]*\.html$
if matched then set URL = /index.php

Может ли кто-нибудь помочь мне переписать первое правило для Зевса? Любая помощь с благодарностью получена!

1 Ответ

3 голосов
/ 04 декабря 2008

Разобрался - у меня хорошо работает следующее:

map path into SCRATCH:DOCROOT from /

set SCRATCH:ORIG_URL = %{URL}
set SCRATCH:REQUEST_URI = %{URL}

look for file at %{SCRATCH:DOCROOT}%{SCRATCH:REQUEST_URI}
if not exists then look for dir at %{SCRATCH:REQUEST_URI}%{SCRATCH:REQUEST_URI}
if not exists then set URL = /index.php%{SCRATCH:REQUEST_URI}
...