.htaccess显示名称而不是id

时间:2012-11-30 12:26:07

标签: 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

4 个答案:

答案 0 :(得分:5)

首先,您还要在网址中发送类别名称。

然后在.htaccess中使用

RewriteRule ^(.*)-c-(.*).html$ product_info.php?catid=$2%1

它对我有用。

另一种解决方案

如果您只想显示catname,而不是catid,那么您希望在表格中使用唯一键创建新字段。然后在此处保存要在URL中显示的类别的别名。

答案 1 :(得分:1)

这是可能的。您需要确保catname是唯一的,如果不是,则需要添加一个额外的字段permalink / uniqid,以包含唯一且友好的URL别名。

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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