Я создаю PHP Framework, и у меня есть некоторые сомнения...
Структура принимает URL-адрес таким образом:
http:/web.com/site/index
Он принимает первый параметр для загрузки контроллера (site
), а затем загружает определенное действие (index
).
Если вы установили фреймворк в базовом URL-адресе, он работает нормально, но если вы установите его в подпапку, например:
http://web.com/mysubfolder/controller/action
My script анализирует его как 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);
}
}
Спасибо за любую помощь, которую вы можете дать.