06-11-2014, 10:47 AM
0
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:
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:
NOTA: Donde pone www.midominio.com deven sustituirlo por su nombre de dominio.
Ahora solo tienen que añadir en su index.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.
Esto seria para $url['dir1'] -- DIRECTORIO PRINCIPAL
o
Y esto seria para $url['args'] -- LOS ARGUMENTOS DEL DIRECTORIO PRINCIPAL
De esa manera tu url quedara mejor visible
Lo primero que hay que hacer es crear un archivo .htaccess y ingresar lo siguiente:
Código:
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 PHP:
$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 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.
Código:
<a href="/hola/">Mi enlace</a>
o
Código:
<a href="/hola/saludo/">Mi enlace</a>
De esa manera tu url quedara mejor visible