2010-05-15 22 views
10

Quiero crear un sitio web con PHP puro. Quiero ocultar los parámetros de url. Es decir. Quiero hacer mi sitio web con URLs limpias. ¿Hay alguna forma de hacer esto sin usar ningún marco? ¿Es útil cURL para hacer esto?php - clean URL

Respuesta

0

No, no curl o framework haciendo esto. Ni php en absoluto.
Es servidor web que trata con URL.
Por lo tanto, si quiere URLs falsas, debe configurar su servidor web para redirigir ciertas URL a ciertas secuencias de comandos.
La forma más común es utilizar el servidor web Apache con el módulo mod_rewrite

1

Sólo echar un vistazo en ella ... antes de empezar su animal

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html 
1

En primer lugar: No es posible con PHP solamente (al menos no las formas de URL que pienso al leer URL limpias). El servidor web necesita saber cómo manejar las solicitudes y qué solicitudes se deben pasar a su script PHP. De lo contrario, probablemente obtendrá una respuesta 404.

Porque el comportamiento predeterminado de un servidor web es simplemente tomar la ruta URL solicitada e intentar asignarla a un archivo existente debajo de la raíz del documento. Si se encontró un archivo correspondiente, o bien el contenido del archivo se transfiere al cliente o, como en el caso de los archivos PHP, el contenido del archivo se pasa a un intérprete apropiado y los datos devueltos se transmiten al cliente. Y si el archivo no se encontró, bueno, responde con el código de estado 404. Entonces, en algún momento debe configurar su servidor web.

Pero después de eso, cuando la solicitud fue pasada a su script PHP, seguramente puede usar solo PHP para establecer URLs limpias. Y preferiría sugerir hacer eso con PHP que con las utilidades del servidor web. Debido a que su aplicación PHP debe saber mejor cómo manejar una URL solicitada.

En PHP, toda la información requerida se encuentran en la $_SERVER variable:

  • $_SERVER['REQUEST_URI'] sostiene que la ruta URL solicitada y consulta (se puede analizar que con parse_url), y
  • $_SERVER['PATH_INFO'] sostiene la PATH_INFO si estás usando eso (mira Apache’s AcceptPathInfo directive).
1

Por lo que he leído y entendido de la misma, hay 2 formas de hacer esto:

  1. La primera es mod_rerite donde todo parece volver Fone a través de reglas de reescritura a través del archivo .htaccess bastante simple de pero puede poner una gran carga en un servidor web con sitios grandes
  2. Use PHP para controlar las repeticiones esto usa .htaccess pero solo para redirigir todo de regreso al index.php donde un despachador redirige las rutas según sea necesario. Hay un fantástico tutorial de esto en phpvideotutorials.com. El tutorial se llama tumblelog.
0

Trate de reescribir y reescribir url using phpurl using .HTACCESS.

Por ejemplo, la URL original,

www.domain.com/item.php?product=Cars for sale in amazon 

con php

www.domain.com/item.php?product=Cars-for-sale-in-amazon 

y con el archivo .htaccess

www.domain.com/Cars-for-sale-in-amazon