rewritecond redirigir parametros ocultar modelo index htaccess ejemplos crear carpeta archivo php regex apache url-rewriting hiphop

redirigir - Portar las reglas de reescritura de htaccess a las configuraciones de hiphop-php



redirect php htaccess (3)

Tengo un proyecto CodeIgniter que requiere volver a escribir reglas para navegar por controladores / vistas y cosas por el estilo. He instalado correctamente hiphop-php en Ubuntu 12.04 y funciona perfectamente, incluso con la instalación de WordPress de ejemplo y las reglas de reescritura proporcionadas en su sitio.

Sin embargo, necesito descubrir las reglas de reescritura adecuadas que funcionarán con la configuración de CodeIgniter index.php / controller y no he tenido demasiada suerte.

Aquí hay un archivo de configuración de ejemplo de hiphop-php para la reescritura de WP:

http://www.hiphop-php.com/wp/

VirtualHost { * { Pattern = .* RewriteRules { dirindex { pattern = ^/(.*)/$ to = $1/index.php qsa = true } } } } StaticFile { FilesMatch { * { pattern = .*/.(dll|exe) headers { * = Content-Disposition: attachment } } }

Y aquí hay un ejemplo de archivo mod_rewrite CodeIgniter para Apache:

http://www.farinspace.com/codeigniter-htaccess-file/

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / ### Canonicalize codeigniter URLs # If your default controller is something other than # "welcome" you should probably change this RewriteRule ^(welcome(/index)?|index(/.php)?)/?$ / [L,R=301] RewriteRule ^(.*)/index/?$ $1 [L,R=301] # Removes trailing slashes (prevents SEO duplicate content issues) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ $1 [L,R=301] ### # Removes access to the system folder by users. # Additionally this will allow you to create a System.php controller, # previously this would not have been possible. # ''system'' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php/$1 [L] # Checks to see if the user is attempting to access a valid file, # such as an image or css document, if this isn''t true it sends the # request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>

Básicamente, todo lo que necesito para volver a escribir es enrutar las solicitudes correctamente con el controlador index.php de CodeIgniter, que parece ser lo que hace la última parte de las reglas de reescritura de apache. El resto puedo hackear juntos después de ver algunos ejemplos.

¡Gracias un montón!



No tengo suficiente reputación para publicar un comentario sobre SO, pero ...

https://github.com/facebook/hiphop-php/blob/master/hphp/doc/options.compiled

No parece que haya una manera de duplicar los indicadores -d o -f en la configuración de HHPHP, pero la documentación de las opciones no es exactamente exhaustiva. Si es posible, tiene que verse algo como esto:

* { pattern = ^(.*)$ to = /path/to/codeigniter/index.php/$1 qsa = true conditions { -d { pattern = %{REQUEST_FILENAME} type = request negate = true } -f { pattern = %{REQUEST_FILENAME} type = request negate = true } } }

¿Has probado algo en esta línea? EDITAR: Quizás intercambie los indicadores de archivo -d y -f con el elemento% {REQUEST_FILENAME}. Podría tener eso al revés. Una vez más, la documentación no es muy esclarecedora, y solo estoy escupiendo cosas.


Use NGINX como frontend para hiphop php. Como ventaja. Obtiene un mejor rendimiento para servir archivos estáticos.