Pergunta

Estou prestes a ir viver com um local powered CodeIgniter. Eu quero remover index.php do url para que em vez disso:

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

Eu obter algo como isto:

http://www.mysite.com/controller

Até agora, bastante simples. No passado, eu usei a regra mod-reescrita fornecida pela documentação CodeIgniter:

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

Isso funciona como um encanto. No entanto, para este site, eu estou tendo que usar um servidor web Zeus em vez de Apache, e eu não estou familiarizado com ele em tudo. Zeus tem o seu próprio reescrever as regras de tal forma que esta:

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

viria a ser o seguinte:

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

alguém pode ajudar-me reescrever a primeira regra para Zeus? Qualquer ajuda muito gratamente recebidas!

Foi útil?

Solução

Descobri-lo - a seguir funciona muito bem para mim:

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}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top