我正在创建一个小型电子商务网站。在那里,我们有一个项目列表,用户可以单击并浏览有关该项目的信息。我正在查询字符串中传递项目 ID 和其他一些信息,因此在下一页上我可以从数据库中获取相关数据。
现在我们有以下 URL 默认结构:
www.somedomain.com/item.php?id=1&some1=somevalue&some2=somevalue
但我想要这样的网址:
www.somedomain.com/item/1/somevalue/somevalue
其中item
是item.php
,/1/somevalue/somevalue
是查询字符串?id=1&some1=somevalue&some2=somevalue
。我想要我的整个网站查询字符串参数,如上所示。
我正在使用核心PHP,没有框架。我用.htaccess
文件做了一些,但服务器在加载网站时出现错误。如何使用.htaccess
文件执行此操作?
尝试下面,我正在使用mod_rewrite来实现结果,如果使用任何以前的尝试,请清除缓存。
下面还将介绍"_"下划线,之后的下一个规则将仅适用于一个项目。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z_]+)/([0-9]+)/([a-zA-Z]+)/([a-zA-Z]+)$ $1.php?id=$2&some1=$3&some2=$4 [L]
RewriteRule ^([a-zA-Z_]+)/([0-9]+)$ $1.php?item=$2[L]