Управление URL-маршрутами в собственном php-фреймворке

Я создаю PHP Framework и у меня есть некоторые сомнения...

Фреймворк принимает URL таким образом: http:/web.com/site/index

Он принимает первый параметр для загрузки контроллера(site)а затем загружает конкретное действие(index).

Если вы установили фреймворк по базовому URL-адресу, он работает нормально, но если вы установите его в подпапку, подобную этой: http://web.com/mysubfolder/controller/action

Мой скрипт анализирует его как controller = mysubfolderи action = controller.

Если у вас больше подпапок, результаты будут худшими.

Это мой код маршрута:

Class Route
{
    private $_htaccess = TRUE;
    private $_suffix = ".jsp";

    public function params()
    {
        $url='';

        //nombre del directorio actual del script ejecutandose.
        //basename(dirname($_SERVER['SCRIPT_FILENAME']));

        if($this->_htaccess !== FALSE):
            //no está funcionando bien si está en un subdirectorio web, por ej stynat.dyndns.org/subdir/
            // muestra el "subdir" como primer parámetro
            $url = $_SERVER['REQUEST_URI'];
            if(isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])):
                $url = str_replace("?". $_SERVER['QUERY_STRING'], '',$url);
            endif;
        else:
            if(isset($_SERVER['PATH_INFO'])):
                $url = $_SERVER['PATH_INFO'];
            endif;
        endif;

        $url = explode('/',preg_replace('/^(\/)/','',$url));
        var_dump($url);

        var_dump($_GET);

    }
}

Спасибо за любую помощь, которую вы можете дать.

13
задан Joe 7 June 2013 в 18:27
поделиться