gpt4 book ai didi

php - url 重写并传递表单的值

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:56 27 4
gpt4 key购买 nike

我有一个用 php 编写的电子商务网站。现在转向花哨的 url,url 重写。

为此我也有可变长度的参数和可选变量。

例如,

http://example.com/product.php?page=e&id=23&color=blue&size=xxl&width=200&height=100

这里,参数是可选的这意味着,除了id之外,一些变量可能会或可能不会参与url。

这里,page=e 是固定的,不是动态的。 (背后的原因是我重写了其他规则,如 ^categories^toys 等。

重写的 url 应该是其中之一,

http://example.com/e/23/color-blue/size-xxl/
http://example.com/e/26/color-black/width-500/height-900/
http://example.com/e/56/type-shirt/color-white/height-345/size-xl/

我试过下面没有运气,

RewriteRule ^e/([^/.]+)/?$ product.php?page=e&url=$1  [L,NC,QSA]

我正在获取所有 $_GET 值,

http://example.com/product.php?page=e&id=23&color=blue&size=xxl&width=200&height=100

但我正在努力实现这样的目标,

http://example.com/e/23/color-blue/size-xxl/width-200/height-100

我如何传递带有斜杠 而非& 的查询。

上面最后一个 url 背后的主要思想是在 php 中将整个花哨的 url 处理成简单的 url,

然后在页面脚本中使用这些变量。还有比这更好的解决方案吗??

最佳答案

您可以在您的 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteRule ^(e)/([0-9]+)/([^-]+)-([^/]*)(/.*)?$ product.php$5?page=$1&id=$2&$3=$4 [L,QSA]

RewriteRule ^(product\.php)/([^-]+)-([^/]*)(/.*)?$ $1$4?$2=$3 [L,QSA]

关于php - url 重写并传递表单的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26285959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com