我想知道如何才能从.php之后的URL中获取所有值?
示例:
http://localhost/api/test
API = api.php ,只需.htaccess。
我想知道如何仅从URL中获取“测试”,或者获取更多值, / test / test1 / test2
我已经尝试过$_SERVER['PATH_INFO']
,但对我却不起作用,错误输出显示$_SERVER['PATH_INFO']
未定义。有什么解决方法吗?
答案 0 :(得分:0)
尝试
使用parse_url()您可以检索url组件
$url = "http://localhost/api/test";
$myurl = parse_url($url);
echo $myurl['path'];
答案 1 :(得分:0)
简单的步骤
第一步:写在.htaccess
RewriteEngine on
RewriteRule ^(.+)/?$ test.php?url=$1
第二步:带有以下代码的test.php文件
<?php
$url = $_GET['url'];
echo '<pre>';
print_r($url);
echo '</pre>';
?>
注意:您可以在explode
变量上调用$url
函数
rewrite module
必须在Apache服务器上。
请注意,我认为这可以解决您的问题
脚本是不言自明的,但是如果感到困惑,请告诉我。
<?php
$url = $_GET['url'];
echo '<pre>';
print_r($url);
echo '</pre>';
//echo '<pre>';
///print_r(explode('/',$url,4));
//echo '</pre>';
list($file,$controller,$method,$params) = explode('/',$url,4);
echo "<hr/>file:" . $file;
echo "<hr/>controller:" . $controller;
echo "<hr/>method:" . $method;
echo "<hr/>params:" ;
echo '<pre>';
print_r($params);
echo '</pre>';
?>
答案 2 :(得分:0)
您可以在$ _SERVER变量(php.net)中找到所需的内容。 只需print_r $ _SERVER的值,然后查看那里有什么信息...,您将很容易地看到所需的信息。 然后,您可以使用字符串函数来隔离URL中所需的部分,或查询字符串以获取所需的任何内容。
还...
如果将.htaccess与重写一起使用,则可能会将它们发送到$ _GET变量中。可以肯定的是,您需要在进行重写的地方张贴一些.htaccess文件。