1

我有 apache mod rewrite 的问题,我需要生成一个具有灵活参数的 SEF 查询

例子:

www.myname.com/category.php?p1=itemname&p2=categoryname&p3=color&p4=size

或者

www.myname.com/category.php?p1=itemname&p3=color

或者

www.myname.com/category.php?p3=color&p4=size

组合总是不同的。

我怎么能动态地做到这一点?

我开始:

RewriteRule ^search/([^/]+)-([^/]+)-([^/]+)$ category.php?p1=$1&p2=$2&p3=$3&p4=$4

谢谢你!!

4

1 回答 1

0

不可能以您想要的灵活方式构建匹配的正则表达式。我看到了一些替代方案:

  1. 您可以在 url 中为每个参数分配一个位置,例如: http
    : //www.myname.com/param1-param2-param3-param4 但是在没有参数之一的情况下,分隔符字符仍应出现在网址:
    http
    ://www.myname.com/--color-size 这个,在我看来这个网址是丑陋的

  2. 您可以评估URL 路径参数的使用,看看每个开发人员应该知道哪些关于 url 编码
    的替代方法,url 可能类似于:
    http ://www.myname.com/item;name=xxx;category= yyy;颜色=zzz

我不知道搜索引擎会如何考虑这个网址,但我想它是 SEF。

于 2013-06-13T16:22:25.260 回答