Cómo implementar el enrutamiento de URL en PHP.Cómo implementar el enrutamiento de URL en PHP
Respuesta
Si utiliza Apache que ha de hacer el enrutamiento de URL a través de mod_rewrite.
pequeño ejemplo:
RewriteEngine On
RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2
Eso tendrá ninguna petición como
http://yoursite.com/dir1/path1
servido por
http://yoursite.com/main.php?dir=dir1&path=path2
Más ejemplos here.
La otra alternativa tienen cada petición redirigir a un solo archivo PHP
RewriteEngine On
RewriteRule (.*) main.php?request=$1
y luego hacerlo en el código, donde se puede utilizar un similar approach, por tener un conjunto de expresiones regulares que se corresponde con alguna código y luego redirigido a través del encabezado() o solo internamente.
Antes que nada, necesitará Apache's (supongo que su servidor web es Apache)mod_rewrite
para habilitarse.
Luego, necesita crear una RewriteRule para redirigir todo a su página index.php.
Algo como esto podría hacer:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
volverá a dirigir todas las peticiones a un archivo que no existe a index.php; esto significa que, si la URL solicitada es www.example.com/blah, en realidad se llamará a index.php.
Sobre eso, aquí un par de enlace que puede ayudar:
Entonces, esta página tiene que determinar lo que ha de ser visualizada, dependiendo de a qué URL inicial se llamó, o qué parámetros se reciben.
Esto se puede hacer usando el Design Pattern Front Controller, por ejemplo, está implementado en la mayoría de las estructuras PHP modernas, por ejemplo.
Ha habido muchas preguntas sobre este tema en SO; algunos de ellos (y sus respuestas) probablemente lo ayuden. Por ejemplo:
Esta debería ser la respuesta estándar a esta pregunta. Funciona para cualquier lenguaje de servidor que se ejecute en Apache, y montones de reglas de reescritura no son particularmente sustentables de todos modos. – WCWedin
- 1. URL de enrutamiento en PHP
- 2. Url enrutamiento regex PHP
- 3. Enrutamiento de URL tipo Django para PHP
- 4. Backbone.js Enrutamiento de URL
- 5. Enrutamiento de URL en Java
- 6. Enrutamiento: ¿Cómo ocultar el nombre de la acción en url?
- 7. web.sitemap con Dynamic URL (URL Enrutamiento)
- 8. Impedir la solicitud normal a las páginas .ASPX Al implementar el enrutamiento de URL
- 9. Enrutamiento url a minúsculas cómo hacerlo?
- 10. Enrutamiento MVC sin controlador en la url
- 11. Apaches mod_rewrite VS. Enrutamiento PHP?
- 12. ¿Cómo implementar el patrón flyweight en php?
- 13. Reemplazar el listado de directorios con el enrutamiento MVC URL
- 14. Enrutamiento en rieles. Los puntos en el URL
- 15. asp.net HttpHandler personalizado y enrutamiento de URL
- 16. Cómo ignorar la ruta en los formularios asp.net enrutamiento url
- 17. Múltiples controladores en el enrutamiento
- 18. Cómo mantener un sitio web con el directorio de enrutamiento url independiente
- 19. Implementar PHP en Heroku
- 20. ASP.NET MVC enrutamiento/SEO Friendly URL
- 21. Enrutamiento vs Url Rewrite (IIS7) Rendimiento
- 22. .NET MVC enrutamiento w/codificación URL Problemas
- 23. Cómo implementar el encadenamiento de excepción en PHP
- 24. cómo implementar el manejo de sesión mejorado en PHP
- 25. ASP MVC Redirect sin cambiar el URL (enrutamiento)
- 26. Cómo enrutar URL estructuradas por árbol con enrutamiento ASP.NET?
- 27. Implementar COMET con PHP
- 28. ¿Es seguro depender de una barra inclinada en una URL para el enrutamiento?
- 29. Django: ¿Cómo creo un enrutamiento url genérico a las vistas?
- 30. Problema de enrutamiento url AJAX en IIS con directorio virtual
http: // stackoverflow.com/questions/1316021/how-to-use-url-routing-in-php – cherouvim
Posible duplicado: http://stackoverflow.com/questions/125677/php-application-url-routing. Intenta ver esa pregunta. – Macha
De hecho, posible triplicado =) – Zed