Php 根据页面值向url添加额外参数

Php 根据页面值向url添加额外参数,php,url,Php,Url,在我的PHP站点中,我有一个项目页面,url如下所示: Item.php?id=100 Item.php?id=100-digital-camera-8-megapixel RewriteEngine on RewriteRule ^item.php?id=([0-9]+)-(.*)$ item.php?id=$1 [NC,L] 我想使其SEO友好,并将项目标题添加到url,但由于标题不唯一,ID也唯一,我只想添加带破折号的标题,如下所示: Item.php?id=100 Item.ph

在我的PHP站点中,我有一个项目页面,url如下所示:

Item.php?id=100
Item.php?id=100-digital-camera-8-megapixel
RewriteEngine on
RewriteRule ^item.php?id=([0-9]+)-(.*)$ item.php?id=$1 [NC,L]
我想使其SEO友好,并将项目标题添加到url,但由于标题不唯一,ID也唯一,我只想添加带破折号的标题,如下所示:

Item.php?id=100
Item.php?id=100-digital-camera-8-megapixel
RewriteEngine on
RewriteRule ^item.php?id=([0-9]+)-(.*)$ item.php?id=$1 [NC,L]

可以用
.htaccess
完成吗?或者我需要更改我网站的PHP代码吗

这可以使用htaccess完成

您还可以在php上使用代码

if(isset($_GET['id'])) {
   $parameter = $_GET['id'];
   $parts = explode('-', $parameter);
   $id = $parts[0];
}
现在,当您转到item.php?id=100-camera-8-mp时,$id的值将为100

如果您选择htaccess,它应该如下所示:

Item.php?id=100
Item.php?id=100-digital-camera-8-megapixel
RewriteEngine on
RewriteRule ^item.php?id=([0-9]+)-(.*)$ item.php?id=$1 [NC,L]

这段代码中的“digital-camera-800万像素”是从哪里来的?htaccess部分还是php部分?digital camera 8 magepixel来自我的项目标题。你应该更具体地说明这一部分。你必须将该值添加到链接中,但我想让两者都可以访问。item.php将获取id并吐出它以返回数字(如果存在)然后用这个号码