2

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

在 url 中:example.com/catename 显示的实际页面:example.com?catid=13

4

4 回答 4

5

首先,您还想在 URL 中发送类别名称。

然后使用,在.htaccess

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

它对我有用。

另一种解决方案

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

于 2012-11-30T12:30:18.957 回答
1

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

于 2012-11-30T12:30:44.667 回答
1

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

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

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

于 2012-11-30T12:29:46.307 回答
0

谢谢你的建议。现在我知道了。由于 catname 不是唯一的,因此两个页面可以具有相同的 url,为此我必须确保它应该是唯一的。我可以在前面添加 Id 以使其独一无二。从这样的名字我可以实现这一点。多谢。

于 2012-11-30T12:41:10.127 回答