Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2011, 07:40
Fennesz
 
Fecha de Ingreso: febrero-2010
Mensajes: 36
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Problema URLS amigables y variables de servidor

Hola!

Tengo un problema a la hora de utilizar una clase para hacer que mis URLS sean amigables, y creo que he detectado que esto es por un bug de php o del server, aún no lo tengo claro, pero creo que es más de php, por eso lo posteo en este foro.

A continuación les pongo el método que haría parte de la "traducción" de las urls, el problema está en que las variables están vacías (más abajo). La verdad es que no se me ocurre coo solucionarlo, porque he leído que cuando está vacía $_SERVER['PATH_INFO'], suele funcionar $_SERVER['ORIG_PATH_INFO'] pero en mi caso ninguna de las dos devuelve nada.

Alguna idea?

Muchas gracias!!!

Código PHP:

protected function fetch_uri_string()
    {
       
       
            
$path = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO'] : @getenv('PATH_INFO');
            if (
trim($path'/') != '' && $path != "/".SELF)
            {
                
$this->uri_string $path;
                return;
            }

            
$path str_replace($_SERVER['SCRIPT_NAME'], '', (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO'));
            if (
trim($path'/') != '' && $path != "/".SELF)
            {
                
$this->uri_string $path;
                return;
            }

            
$this->uri_string '/';
            
    } 
Cuando hago un echo de las vaiables del server están vacías tanto $_SERVER['PATH_INFO'] como $_SERVER['ORIG_PATH_INFO']


Código HTML:
$_SERVER VARS:

$_SERVER['PATH'] es /usr/local/bin:/usr/bin:/bin
$_SERVER['PATH_INFO'] es
$_SERVER['SCRIPT_NAME'] es /server_vars.php
$_SERVER['ORIG_PATH_INFO'] es
$_SERVER['REQUEST_URI'] es /server_vars.php
$_SERVER['PHP_SELF'] es /server_vars.php
El .htaccess:
Código:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]