2008-12-03 80 views
3

我即将开始使用Codeigniter支持的网站。我想从URL中移除的index.php,这样,而不是这样的:Mod重写规则到Zeus服务器规则(Codeigniter)

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

我得到的是这样的:

http://www.mysite.com/controller 

到目前为止,非常简单。在过去,我所用的笨文档提供的MOD-重写规则:

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

这就像一个魅力。但是,对于这个网站,我不得不使用Zeus web服务器而不是Apache,而我对它一点都不熟悉。宙斯有自己的重写规则,使得这样的:

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

会变成这样:

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

谁能帮我改写了宙斯的第一个规则?任何帮助非常感激地收到!

回答

3

想通了 - 下面的作品很好地对我说:

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}