Php .ht访问以显示名称而不是id

Php .ht访问以显示名称而不是id,php,.htaccess,Php,.htaccess,我有一个包含catname(catename)和catid(23)的表。 现在在url中,我显示catid=23。 我定义了一个重写规则,它在url中显示example.com/13:example.com?catid=13 是否有可能实现以下目标 在url中:example.com/catename 它显示的实际页面:example.com?catid=13这是可能的。您需要确保catname是唯一的,如果不是,则需要添加一个额外的字段permalink/uniqid,以包含一个唯一且友好的U

我有一个包含catname(catename)和catid(23)的表。 现在在url中,我显示catid=23。 我定义了一个重写规则,它在url中显示example.com/13:example.com?catid=13 是否有可能实现以下目标

在url中:example.com/catename
它显示的实际页面:example.com?catid=13这是可能的。您需要确保
catname
是唯一的,如果不是,则需要添加一个额外的字段permalink/uniqid,以包含一个唯一且友好的URL别名

RewriteRule ^/(\s+)$ ./index.php?catname=$1

然后,您需要检查PHP文件中的
catname
,并进行相应的处理。

首先,您还需要在URL中发送类别名称

然后在
.htaccess
中使用:

RewriteRule ^(.*)-c-(.*).html$ product_info.php?catid=$2%1
这对我有用

另一种解决方案


如果只想显示
catname
,而不想显示
catid
,则需要在表中创建一个具有唯一键的新字段。然后将要在URL中显示的类别别名保存在此处。

如果类别名称不唯一,最好使用example.com/13-catname等URL。
更改重写规则以提取ID并将其传递给PHP脚本。

谢谢您的建议。现在我明白了。由于catname不是唯一的,所以两个页面可以有相同的url,为此,我必须确保它应该是唯一的。我可以在前面添加Id以使其唯一。从这个名字我可以做到这一点。非常感谢。

catid和catname是动态出现的,catid是唯一的,名称可以相同,但我不希望它像example.com/catname/catid那样,它应该像example.com/catname如果您只想显示carname而不是catid,那么您需要在表中创建新字段。然后在此处保存要在url中显示的类别的别名。