php – 如何将域名后的所有内容都变成字符串
发布时间:2020-12-13 13:54:03 所属栏目:PHP教程 来源:网络整理
导读:我的目标是将域名后的所有内容都放到字符串中.如在mysite.com/page/page2中将导致字符串“page / page2”.我可以做,但是当它开始给我带来问题时,例如,网站在子文件夹而不是root中,那么网站所在的文件夹也将包含在字符串中,如果我没有使用mod_rewrite获得漂亮
我的目标是将域名后的所有内容都放到字符串中.如在mysite.com/page/page2中将导致字符串“page / page2”.我可以做,但是当它开始给我带来问题时,例如,网站在子文件夹而不是root中,那么网站所在的文件夹也将包含在字符串中,如果我没有使用mod_rewrite获得漂亮的链接,它还会将index.php添加到字符串中.
所以,我需要一两个技巧来让脚本了解该网站是否在mysite.com/sitefolder/page/page2这样的子文件夹中,并且它仍然会产生一个字符串 page/page2 如果网站没有使用mod_rewrite且url是mysite.com/sitefolder/index.php/page/page2,它仍会产生一个字符串 page/page2 请记住,我在配置文件中定义了URL和USE_MOD_REWRITE,因此不需要魔术.我只是不知道如何获得该字符串.我知道我可以用$_SERVER [‘REQUEST_URI’]来获取字符串,但是index.php仍然会在其中.如果我的解释不够好,我很抱歉,但所有的帮助都表示赞赏.
>通过解析请求uri获取路径
>从字符串末尾删除最终的脚本名称(例如index.php) > rtrim任何尾随斜杠 $request = parse_url($_SERVER['REQUEST_URI']); $path = $request["path"]; $result = rtrim(str_replace(basename($_SERVER['SCRIPT_NAME']),'',$path),'/'); 编辑 $request = parse_url($_SERVER['REQUEST_URI']); $path = $request["path"]; $result = trim(str_replace(basename($_SERVER['SCRIPT_NAME']),'/'); $result = explode('/',$result); $max_level = 2; while ($max_level < count($result)) { unset($result[0]); } $result = '/'.implode('/',$result); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |