Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: MaNuX en 12 de Noviembre de 2013, 22:17:25 pm

Título: [Tutorial] URL Amigables
Publicado por: MaNuX en 12 de Noviembre de 2013, 22:17:25 pm
Hace tiempo que cree estas url amigables para hacer las llamadas a $_GET mas bonitas con urls amigables utilizando php y .htaccess

Lo primero que hay que hacer es crear un archivo .htaccess y ingresar lo siguiente:

Código: [Seleccionar]
RewriteEngine On

#SetEnv php_ver 5_3


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php [QSA,L]

Ahora queda crear el código php para que funcione correctamente, para eso creamos un archivo llamado request.php.

Y el código es el siguiente:


Código: [Seleccionar]
$urlTmp = $_SERVER["REQUEST_URI"];

$quitar = str_replace('http://www.midominio.com/', '', BASE_PATH);

$urlTmp = str_replace($quitar, '', $urlTmp);   
$urlTmp = filter_var($urlTmp, FILTER_SANITIZE_URL);
$urlTmp = explode('/', $urlTmp);
$urlTmp = array_filter($urlTmp);

$url['dir1'] = strtolower(array_shift($urlTmp));
$url['args'] = $urlTmp;

unset($urlTmp);

NOTA: Donde pone www.midominio.com deven sustituirlo por su nombre de dominio.

------------------------

Ahora solo tienen que añadir en su index.php

Código: [Seleccionar]
include 'request.php';

Pues eso sería todo el código que necesitan para poder tener sus url amigables, pero ahora... ¿cómo hago para que aparezcan en la barra de direcciones http://www.midominio.com/hola/ en vez de http://www.midominio.com/index.php?p=hola o cualquier otro metodo llamado por $_GET?

Muy facil!!!!! Solamente tienes que añadir a tus enlaces de la siguiente manera.

Código: [Seleccionar]
<a href="/hola/">Mi enlace</a>

Esto seria para $url['dir1'] -- DIRECTORIO PRINCIPAL

o

Código: [Seleccionar]
<a href="/hola/saludo/">Mi enlace</a>

Y esto seria para $url['args'] -- LOS ARGUMENTOS DEL DIRECTORIO PRINCIPAL

De esa manera tu url quedara mejor visible!!!!

--------------------

Eso es todo espero que os guste y os sea de gran ayuda para mejor vuestras urls. Cualquier duda, pregunta... no dudes en publicarlo.

Un saludo.