我想让我的网址看起来像:
mysite.com/news/25-my-first-article
我的.htaccess中有这个:
RewriteRule ^news/([a-zA-Z-0-9-]+)$ article-detail.php?id=$1&slug=$2 [NC,L]
和我的href:
<li><a href="news/{$id}-{$slug}">{$title} <i class="icon arrow_right"></i></a></li>
就我所见,这是正常的。如果我点击链接,网址会显示我想要的内容。我遇到的问题是我无法将id和slug转换为单独的值。
如果我回应:
<?php echo $_GET['id']; ?>
然后,而不仅仅是获得像#&#34; 7&#34;或&#34; 25&#34;或者其他什么,我得到25-my-first-article
我只想要实际的id值,这样我就可以在数据库中查找了。
答案 0 :(得分:1)
您需要将两个值捕获到不同的组中:
RewriteRule ^news/([0-9]+)-([a-zA-Z-0-9-]+)$ article-detail.php?id=$1&slug=$2 [NC,L]
或者,您可以忽略第二部分:
RewriteRule ^news/([0-9]+)-[a-zA-Z-0-9-]+$ article-detail.php?id=$1 [NC,L]
但是,我会使用(这会占用前面的所有数字并忽略其余数字):
RewriteRule ^news/([0-9]+).*$ article-detail.php?id=$1 [NC,L]
答案 1 :(得分:-1)
使用以下代码
<?php $data=$_GET['id'];$temp=explode("-",$data);echo $temp[0];// you get Id ?>