【发布时间】:2016-05-10 04:52:58
【问题描述】:
如何转换如下网址:
http://localhost/series/dynamics/admin/cleanURL/value1?subgroup=value2
到更简洁的 URL,
例如:http://localhost/series/dynamics/admin/cleanURL/value1/value2
我正在使用 $_GET 并且可以选择使用 $_SERVER['REQUEST_URI']。 php 文件的名称是 index.php。我已经设法为第一个参数(即 value1)实现了干净的 url,但对如何为 value2 执行此操作一无所知
我的 htaccess 看起来像这样,很确定它需要传递第二个参数,但无法弄清楚如何。
Rewriteengine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewriterule ^([a-zA-Z]+)$ index.php?group=$1
我已经尝试过:^([a-zA-Z]+)$ index.php?group=$1?subgroup=$2 和其他一些方法,但它们都不起作用
请看下面的 2 个 PHP 代码,我不确定 "&" 是否可以作为除 "?" 之外的任何其他工作。带我到另一个页面。
<li id="nav"<?php if($pageid==$nav['group']){echo'class="active"';}?>><a href="<?php echo $nav['group'];?>"><?php echo $nav['product']?></a></li>
<a href="?subgroup=<?php echo $list['subgroup']; ?>" <?php if($tst1 == $list['subgroup']){echo 'class="active"';} ?> ><?php echo $list['subgroup']."(".$list['contains'].")".'<br/>';?></a>
我可以用“&”代替“吗?”在子组的链接中?
【问题讨论】:
-
你把这个 .htaccess 文件放在哪里?
-
您的规则只匹配所有内容并将其附加为另一个查询参数。如果你想去掉
subgroup=value2,那么你应该明确地搜索它。 -
@MarcB 问题在于它们彼此相关,因此......