Como habilitar el URL Friendly en Mac os X

configuracion-url-friendly7Para todas las personas que trabajan sobre  Mac Os X, aqui va un tip que posiblemente va ser de mucha utilidad en el desarrollo bajo la plataforma Apache, PHP, MySQL. Actualmente lo uso para Zend Framework, Joomla, WordPress, LiveCMS y otros que necesitan para el URL Friendly.

Nota: Mac Os X ya tiene instalado el Mod_rewrite para el URL Friendly, asi que vamos a saltar este paso.

Antes que nada, para comprobar que no esta habilitado vamos a realizar una prueba. Creamos una carpeta en el directorio web llamado:

pruebaurl

configuracion-url-friendly

Alli vamos a crear dos archivos. index.php y .htaccess

configuracion-url-friendly2

Contenido de index.php

<?php

//en esta prueba estoy usando parte de codigo de LiveCMS

function get_request_uri() {

if (isset ( $_SERVER ['REQUEST_URI'] )) {
return $_SERVER ['REQUEST_URI'];
}

if (isset ( $_SERVER ['HTTP_X_ORIGINAL_URL'] )) {
return $_SERVER ['HTTP_X_ORIGINAL_URL'];
} else if (isset ( $_SERVER ['HTTP_X_REWRITE_URL'] )) {
return $_SERVER ['HTTP_X_REWRITE_URL'];
}

if (isset ( $_SERVER ['PATH_INFO'] ) && ! zerolen ( $_SERVER ['PATH_INFO'] )) {
if ($_SERVER ['PATH_INFO'] == $_SERVER ['PHP_SELF']) {
$request_uri = $_SERVER ['PHP_SELF'];
} else {
$request_uri = $_SERVER ['PHP_SELF'] . $_SERVER ['PATH_INFO'];
}
} else {
$request_uri = $_SERVER ['PHP_SELF'];
}

# Append query string
if (isset ( $_SERVER ['argv'] ) && isset ( $_SERVER ['argv'] [0] ) && ! zerolen ( $_SERVER ['argv'] [0] )) {
$request_uri .= ‘?’ . $_SERVER ['argv'] [0];
} else if (isset ( $_SERVER ['QUERY_STRING'] ) && ! zerolen ( $_SERVER ['QUERY_STRING'] )) {
$request_uri .= ‘?’ . $_SERVER ['QUERY_STRING'];
}

return $request_uri;
}

function zerolen() {
foreach ( func_get_args () as $arg ) {
if (strlen ( $arg ) == 0)
return true;
}

return false;
}

$request_uri_info = @parse_url ( stripslashes ( get_request_uri () ) );

if (! isset ( $request_uri_info ['path'] ) || zerolen ( $request_uri_info ['path'] )) {
echo ‘pagina principal’;
}

$dispatched_request = preg_replace ( ‘/^’ . preg_quote ( ‘pruebaurl’ . “/”, ‘/’ ) . ‘/’, ”, $request_uri_info ['path'] );
$dispatched_request = rtrim ( $dispatched_request, “/” );
$dispatched_request = preg_replace ( “/\\.html$/i”, ”, $dispatched_request );

if (zerolen ( $dispatched_request )) {
die(‘No hay URL Friendly’);
}
echo ‘este es mi URL Friendly: ‘. $dispatched_request;
?>

Contenido de .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /pruebaurl
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /pruebaurl/index.php [L]
</IfModule>

1. Haciendo la prueba: http://localhost/pruebaurl/miurl.html

Si el resultado es Not Found, es porque no esta activo el URL Friendly, de lo contrario esta bien el URL Friendly.

configuracion-url-friendly3

2. Configuracion de Apache

Hay que ir al Terminal

configuracion-url-friendly4

Alli ejecutar:

sudo nano /private/etc/apache2/httpd.conf

Ir a  <Directory “/webs”> y buscar:

configuracion-url-friendly5

AllowOverride None

Cambiar por:

AllowOverride All

Con control + x se cierra el editor y poner S para Guardar.

2. Reiniciar el Apache:

Listo, debe funcionar algo parecido:

configuracion-url-friendly7

Espero que sea de utilidad.

Ejemplo para bajar: pruebaurl

Bookmark and Share
This entry was posted in Apache, Mac Os X, PHP, Tips and tagged , , , , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos, están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>