我有一个如下所述的网址。
abc.com/test/abc/hello/?hello=world&foo=bar
我要使用htaccess
区分目录和查询字符串我需要得到如下结果:
Array
(
[data] => test/abc/hello/
[hello] => world
[foo] => bar
)
我尝试了很多htaccess方法,但不会得到我想要的结果。我试过下面的方法
如果我尝试过:
RewriteRule ^([\w\-\/]+)$ index.php?data=$1
输出:
Array
(
[data] => test/abc/hello/
)
尝试时:
RewriteRule .* test.php [L]
输出:
Array
(
[hello] => world
[foo] => bar
)
但建议我使用htaccess规则,我可以得到像
这样的结果Array
(
[data] => test/abc/hello/
[hello] => world
[foo] => bar
)
任何人都可以帮我从htaccess获取结果
答案 0 :(得分:1)
这可能有效(未经测试):
RewriteEngine On
RewriteRule ^([\w\-\/]+)$ index.php?data=$1 [L,QSA]
标记QSA:附加QueryString。
但是我很保守,因为你使用它来获取数据,你好和foo,这太费钱了。在PHP中,您可以使用:
<?php
$data = $_SERVER["REQUEST_URI"];
$hello = $_GET["hello"];
$foo = $_GET["foo"];
?>
无需任何重写。