Php 如何将带有产品编号的URL字符串转换为产品名称

Php 如何将带有产品编号的URL字符串转换为产品名称,php,html,.htaccess,url,Php,Html,.htaccess,Url,好的。。。对于你们中的一些人来说,这可能是一个简单的问题,我知道这是可以做到的,我只是不知道如何做到。我想已经结束了。htaccess,但我不太确定 我有一个使用PHP的网站,它有一个URL字符串: mydomain.com/product/item.php?=0210 如何将该项目编号转换为实际产品,例如: mydomain.com/product/brown-green-socks 这可能吗?如果是的话,你能给我指出正确的方向吗。我试图搜索该网站,但找不到该过程的确切名称,因此,我真

好的。。。对于你们中的一些人来说,这可能是一个简单的问题,我知道这是可以做到的,我只是不知道如何做到。我想已经结束了。htaccess,但我不太确定

我有一个使用PHP的网站,它有一个URL字符串:

 mydomain.com/product/item.php?=0210
如何将该项目编号转换为实际产品,例如:

 mydomain.com/product/brown-green-socks

这可能吗?如果是的话,你能给我指出正确的方向吗。我试图搜索该网站,但找不到该过程的确切名称,因此,我真的找不到问题的正确答案。

您建议的URL方案需要唯一的产品名称


大多数大型商店使用类似于
domain.com/product/0210棕绿色袜子的方案。通过这种方式,只需在内部将请求重定向到该URL,将请求重定向到
/item.php?=0210

就更容易了。您建议的URL方案需要唯一的产品名称


大多数大型商店使用类似于
domain.com/product/0210棕绿色袜子的方案。通过这种方式,只需在内部将请求重定向到该URL到
/item.php?=0210

这个问题有两个部分,一个是如何通过“slug”而不是id来标识每个元素,另一个是如何删除问号

要删除问号,请尝试在.htaccess文件中使用apache重写。(Google apache重写)例如,我使用

RewriteRule ^blog/read/(.*)$ blog/index.php?b=$1 [L,QSA]
因此,任何去blog/read/13的人实际上都会被重定向到blog/index.php?b=13


下一步是在数据库中查找产品时开始使用“slug”而不是“id”。我可以更详细地说,但我不知道你的数据库或网站是如何工作的,所以我帮不了你!多亏了这个问题有两个部分,一个是如何用“slug”而不是id来识别每个元素,另一个是如何删除问号

要删除问号,请尝试在.htaccess文件中使用apache重写。(Google apache重写)例如,我使用

RewriteRule ^blog/read/(.*)$ blog/index.php?b=$1 [L,QSA]
因此,任何去blog/read/13的人实际上都会被重定向到blog/index.php?b=13


下一步是在数据库中查找产品时开始使用“slug”而不是“id”。我可以更详细地说,但我不知道你的数据库或网站是如何工作的,所以我帮不了你!谢谢

mydomain.com/product/item.php?=0210->301->mydomain.com/product/brown-green-socks

mydomain.com/product/brown-green-socks表示mydomain.com/product/item.php?=0210 它们是两种不同的东西,您需要两条规则:

重新启动发动机

重写cond%{QUERY_STRING}正则表达式条件 重写规则^blog/read/(.*)$blog/index.php?b=$1[L,QSA]

第一个将301(永久移动)重定向到漂亮的url。第二种方法允许应用程序理解漂亮的url


无论何时更改网站的url方案,都应注意现有链接。因此,第一条规则是必需的/一个好主意。但是,在使用自己的应用程序时,不应该需要第一条规则。如果您自己的应用程序正在生成指向profile.php?user=me的链接,请更改您的应用程序代码。

mydomain.com/product/item.php?=0210->301->mydomain.com/product/brown-green-socks

mydomain.com/product/brown-green-socks表示mydomain.com/product/item.php?=0210 它们是两种不同的东西,您需要两条规则:

重新启动发动机

重写cond%{QUERY_STRING}正则表达式条件 重写规则^blog/read/(.*)$blog/index.php?b=$1[L,QSA]

第一个将301(永久移动)重定向到漂亮的url。第二种方法允许应用程序理解漂亮的url


无论何时更改网站的url方案,都应注意现有链接。因此,第一条规则是必需的/一个好主意。但是,在使用自己的应用程序时,不应该需要第一条规则。如果您自己的应用程序正在生成指向profile.php?user=me的链接,请更改您的应用程序代码。

您当前是否在数据库中存储段塞?您需要将产品ID映射到URL slug,否则在处理同名产品时会遇到困难…您的意思是应该将用户从?=0210重定向到/product/borwn green socks?您的意思是想要吗?我认为mod rewrite应该suffice@Olical谢谢你的时间!我得到了下面的答案。您当前是否将这些蛞蝓存储在数据库中?您需要将产品ID映射到URL slug,否则在处理同名产品时会遇到困难…您的意思是应该将用户从?=0210重定向到/product/borwn green socks?您的意思是想要吗?我认为mod rewrite应该suffice@Olical谢谢你的时间!我得到了下面的答案。谢谢!这正是我要寻找的,他们展示的例子完全是相同的场景。我知道这是一个简单的概念,但我无法理解它的名称。谢谢@codeonfire很高兴我能帮上忙:-)别忘了接受你的问题。我对你的问题投了赞成票,因为它解决了一个重要问题:谢谢!这正是我要寻找的,他们展示的例子完全是相同的场景。我知道这是一个简单的概念,但我无法理解它的名称。谢谢@很高兴我能帮上忙:-)别忘了接受你的问题。我对你的问题投了赞成票,因为它解决了一个重要问题:D