我在数据库中保存了类别, 离。
Category 1
Category 2
.
.
Category 10
现在我的菜单是,
<ul>
<li><a href="/home/Category_page.php?id=1" >Category name</a></li>
<li><a href="/home/Category_page.php?id=2" >Category name</a></li>
<li><a href="/home/Category_page.php?id=3" >Category name</a></li>
<li><a href="/home/Category_page.php?id=4" >Category name</a></li>
<li><a href="/home/Category_page.php?id=5" >Category name</a></li>
<li><a href="/home/Category_page.php?id=6" >Category name</a></li>
<ul>
我想这样做
<ul>
<li><a href="/home/Category_name" >Category name</a></li>
<li><a href="/home/Category_name" >Category name</a></li>
<li><a href="/home/Category_name" >Category name</a></li>
<li><a href="/home/Category_name" >Category name</a></li>
<li><a href="/home/Category_name" >Category name</a></li>
<li><a href="/home/Category_name" >Category name</a></li>
<ul>
类别名称会有所不同,在href中只给出了类别名称,在.htaccess中我可以重定向到另一个页面,比如
.htaccess中的规则: -
RewriteRule ^home/([a-zA-Z0-9_-]+)$ /details.php/$1.php
在详细信息页面上,我应该检查数据库中的类别名称以获取详细信息吗?
或
另外两种选择是什么? 我不想在网址中使用类别ID。
答案 0 :(得分:0)
如果您的类别数量有限并且不经常更改,则可以使用RewriteMap
将处理得很好的URL中的名称映射到带有ID的版本。
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritemap
否则,您可以在数据库中添加查找(连接到类别表的表或类别表中的新列),其中包含一个包含所需URL友好类别名称的唯一列。