zend mac how framework for dummies composer php model-view-controller zend-framework

php - mac - zend framework download



php Zend/MVC sin mod_rewrite (5)

mod_rewrite es casi esencial en el entorno de alojamiento actual ... pero desafortunadamente no todos recibieron el mensaje.

Muchos de los grandes programas de php (estoy pensando en magento, pero la mayoría puede hacer frente) tienen un modo de retroceso muy lindo para cuando mod_rewrite no está disponible.

Las URL terminan pareciéndose a www.site.com/index.php?load-this-page

Deben ejecutar algo de magia para tomar el nombre de la variable $ _GET y usarlo como selector de qué módulo / función ejecutar.

En una nota relacionada, he visto muchas URL desordenadas en el nuevo sitio de Facebook donde está usando el #. Así que los enlaces se ven como www.new.facebook.com/home.php#/inbox/ Claramente no estamos destinados a ver eso, pero sugiere que probablemente estén analizando la variable $ _SERVER [''REQUEST_URI''].

Lo he visto mencionado en muchos blogs de la red, pero creo que debería discutirse aquí. ¿Qué podemos hacer cuando tenemos un marco MVC (estoy interesado en ZEND) en PHP pero nuestro host no proporciona mod_rewrite? ¿Hay algún "atajo"? ¿Podemos transferir el control de alguna manera (para que pueda haber un mapeo entre las páginas)? ¿Algunas ideas? Gracias :-)


Si puede encontrar una forma que no sea mod_rewrite para redirigir todas las solicitudes a index.php (o donde sea su script de inicio), puede, como se mencionó anteriormente, usar ''REQUEST_URI'' para tomar la parte de la dirección después del dominio y luego analizar como lo desee y haga que la solicitud haga lo que usted desea. Así es como lo hace Wordpress (concedido, con mod_rewrite). Siempre que pueda redirigir las solicitudes a su página de índice conservando el mismo URI, puede hacer lo que necesite para procesar la solicitud.


Zend framework debería funcionar sin mod_rewrite . Si puedes vivir con tu URL: s pareces más a "/ruta/a/app/index.php/controller/action". Si tuviera mod_rewrite podría eliminar el bit "index.php", pero debería funcionar también.

Todo es cuestión de configurar las rutas para aceptar la parte index.php.


OK mi veredicto :-): He utilizado con éxito zend sin mod_rewrite y es como todos ustedes han dicho site / index.php / controller / action. Lo sabía antes de publicar esto. También descubrí en la red una técnica que "empuja" 404 páginas a index.php, por lo tanto, lo que no es un recurso (por ejemplo, CSS, imagen, etc.) llega allí, con una excepción: valores de POST. Así que decidí que la próxima vez que se debe hacer una solicitud en el servidor específico, pedir cortésmente mod_rewrite. Si el administrador no puede proporcionarlo, hable con mi jefe o si es para mí, cambie de proveedor. En general, es una pena que el mercado de PHP esté tan fragmentado (php4, php5, php6, mod_rewrite, mod_auth, mod_whatever), pero esta es otra historia ...