在PHP(/class/method/x/1/y/1/z/1/)中解析到变量的奇特URL
我相信有人已经这样做了,并希望有人可以分享一些代码 我们已准备好以下.htaccess文件:在PHP(/class/method/x/1/y/1/z/1/)中解析到变量的奇特URL,php,Php,我相信有人已经这样做了,并希望有人可以分享一些代码 我们已准备好以下.htaccess文件: RewriteEngine on RewriteBase / RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php 这与Zend使用的相同。我们正试图模仿Zend的URL结构。我们会使用Zend,但我们离自己的框架还有很长的路要走 我们要完成的是解析如下所示的url: http://www.test.com/a/b/x/1/y/1/z/1 为此
RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
这与Zend使用的相同。我们正试图模仿Zend的URL结构。我们会使用Zend,但我们离自己的框架还有很长的路要走
我们要完成的是解析如下所示的url:
http://www.test.com/a/b/x/1/y/1/z/1
为此:
$class = 'a';
$method = 'b';
$x = 1;
$y = 1;
$z = 'a';
我可以编写最终的解决方案来根据数字确定字符串,但我希望有人已经这样做了,并且愿意与大家分享。当您已经有了URL的路径时,您可以这样做:
$path = '/a/b/x/1/y/1/z/1';
$segments = explode('/', trim($path, '/'));
for ($i=0, $n=count($segments); $i<$n-1; ++$i) {
${$segments[$i]} = $segments[++$i];
}
当您已经拥有URL路径时,可以执行以下操作:
$path = '/a/b/x/1/y/1/z/1';
$segments = explode('/', trim($path, '/'));
for ($i=0, $n=count($segments); $i<$n-1; ++$i) {
${$segments[$i]} = $segments[++$i];
}