加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP – 使用pathinfo变量使相对路径无法工作

发布时间:2020-12-13 16:00:18 所属栏目:PHP教程 来源:网络整理
导读:我希望自己能够实现某种cms.我看到我可以捕获Apache环境变量,称为PATH_INFO,所以这样我可以在我的网站上制作动态部分(就像joomla一样). 例如: stackoverflow.com/index.php/section1/article22 目前我正在开发一个功能,通过这样做来找出所需的部分和文章:
我希望自己能够实现某种cms.我看到我可以捕获Apache环境变量,称为PATH_INFO,所以这样我可以在我的网站上制作动态部分(就像joomla一样).

例如:

stackoverflow.com/index.php/section1/article22

目前我正在开发一个功能,通过这样做来找出所需的部分和文章:

$url_seccion = $_SERVER['PATH_INFO'];
$secciones_array =  array_values(array_filter(explode('/',$url_seccion)));

这部分工作正常,我遇到的问题是我现在所有的相对路径都被破坏了.有人可以解释一下为什么会发生这种情况,我能做些什么来解决它? (请不要告诉我必须使用绝对路径…)

解决方法

例:

$url = "stackoverflow.com/index.php/section1/article22";
$myArray = array_slice( explode('/',$url),2 );
echo "section: ". $myArray[0] ."<br /> article: ". $myArray[1]."<br />";
if(isset($myArray[0]))  {
$section = $myArray[0];
} else {
$section = "";
}

if(isset($myArray[1]))  {
$article = $myArray[1];
} else {
$article = "";
}

switch(strtolower($section)) {
default:
echo "home";
break;
case 'section1':
echo "function for find and show my article: ". $article;
break;
}

要使用保存在db中的部分,可以使用select来查找它的id然后再查找

要将所有请求重定向到index.php,请使用:

的.htaccess

Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond $0 !^(index.php|css|js|img)
RewriteRule ^(.*)$index.php [L]

index.php文件:

$url = addslashes($_SERVER['REQUEST_URI']);
$myArray = array_slice( explode('/',1 );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读