由于我无法访问mod重写,因此我使用它来解析我的网址。
$path = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
因此,当我的网址为/page/action/1
时,它的效果非常好。我明白了:
[0] => [1] => page [2] => action [3] => 1
然而,当我有类似:/page/action/simple:1
之类的东西时,它会中断。它什么都不返回。
有谁知道为什么会发生这种情况我可以做些什么来解决它?
答案 0 :(得分:0)
所以有人发布了urlencode()
,但后来删除了他们的答案。我玩弄它并发现了这个解决方案。它不是最好的,但它对我有用。
如果他们有更好的选择,我仍然有兴趣听取任何人的意见。但这是我改变的。
$path = explode(urlencode("/"), parse_url(urlencode($_SERVER['REQUEST_URI']), PHP_URL_PATH));
foreach($path as &$item) $item = urldecode($item);
答案 1 :(得分:0)
尝试这样的事情......
$url = $_SERVER['REQUEST_URI'];
$path = explode("/", $url);
var_dump($path);
如果$url = /page/action/simple:1
输出应为[0] => [1] => page [2] => action [3] => simple:1