Para 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

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

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
RewriteEngine On
<IfModule mod_rewrite.c>
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.

2. Configuracion de Apache
Hay que ir al Terminal

Alli ejecutar:
sudo nano /private/etc/apache2/httpd.conf
Ir a <Directory “/webs”> y buscar:

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:

Espero que sea de utilidad.
Ejemplo para bajar: pruebaurl