Modifique la regla de reescritura a la regla del servidor Zeus (Codeigniter)
-
19-08-2019 - |
Pregunta
Estoy a punto de poner en marcha un sitio de Codeigniter. Quiero eliminar index.php de la url para que en lugar de esto:
http://www.mysite.com/index.php/controller
Me sale algo como esto:
http://www.mysite.com/controller
Hasta ahora, bastante sencillo. En el pasado, he usado la regla mod-rewrite proporcionada por la documentación de Codeigniter:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Esto funciona como un encanto. Sin embargo, para este sitio, tengo que usar un servidor web Zeus en lugar de Apache, y no estoy familiarizado con él en absoluto. Zeus tiene sus propias reglas de reescritura de modo que esto:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/]*\.html$ index.php
se convertiría en esto:
match URL into $ with ^/[^/]*\.html$
if matched then set URL = /index.php
¿Alguien puede ayudarme a reescribir la primera regla para Zeus? Cualquier ayuda recibida con mucho agradecimiento!
Solución
Lo descubrí, lo siguiente funciona muy bien para mí:
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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow