htAccess 文件使用正斜杠而不是 ?、= 和 & 在查询字符串中签名?



我正在创建一个小型电子商务网站。在那里,我们有一个项目列表,用户可以单击并浏览有关该项目的信息。我正在查询字符串中传递项目 ID 和其他一些信息,因此在下一页上我可以从数据库中获取相关数据。

现在我们有以下 URL 默认结构:

www.somedomain.com/item.php?id=1&some1=somevalue&some2=somevalue

但我想要这样的网址:

www.somedomain.com/item/1/somevalue/somevalue

其中itemitem.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]

最新更新