Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado 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:
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:
$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
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.
<a href="/hola/">Mi enlace</a>
Esto seria para $url['dir1'] -- DIRECTORIO PRINCIPAL
o
<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.