假设我有一个这样的url:
http://www.mysite.com/forum/board1/sub-forum/topics/123
在PHP中有没有一种简单的方法(不能使用HTAccess)来获取URL并提取board1、sub-forum、topics和123,这样我就可以在数据库中使用它们了?有没有内置的函数,还是我必须自己写?
谢谢,
詹姆斯
发布于 2010-11-18 18:51:03
explode('/', getenv('REQUEST_URI'));如果您的环境恰好在上面的值中包含了查询字符串部分,这里有一个简单的解决方法:
explode('/', strtok(getenv('REQUEST_URI'), '?'));发布于 2010-11-18 18:53:45
你可以,但是如果不重定向请求,你的non服务器只会为不存在的路径返回404错误。
但是,您可以使用像http://your.site.com/index.php/foo/bar/baz这样的url,然后将url拆分成像@pestaa这样的部分,然后可以将这些部分解析为参数值。
发布于 2010-11-18 19:05:47
这是从我的MVC http://www.phpclasses.org/package/6363-PHP-Implements-the-MVC-design-pattern.html中获取的
这个链接是过时的,我刚刚更新了它,所以它没有MVC的东西,这可以用getLoadDetails( $_URL )来调用;除了从文件夹路径中获取数据之外,$_URL将与$_GET完全相同。
function getLoadDetails(&$_URL){
$filePath = $_SERVER['REQUEST_URI'];
$filePath = explode("/", $filePath);
for($i = 0; $i < count($filePath); $i++){
$key = $filePath[$i];
$i++;
$val = $filePath[$i];
$keyName = urldecode($key);
$_URL[$keyName] = urldecode($val);
}
}我确实有一个问题,如果你不能使用HTACCESS,你打算如何处理文件夹路径请不要告诉我,你的系统将创建文件夹路径和索引文件为每个URL,这将垃圾你的服务器速度和你的主机会恨你。
https://stackoverflow.com/questions/4213946
复制相似问题