php - htaccess 在 $_GET 中带有数组参数
问题描述
我似乎无法在 htaccess Rewriterule 和 Rewritecond 中传递数组。
我的网址是
example.com/search.php?mc=88&fc%5B%5D=佳能&fc%5B%5D=戴尔&min=1&max=5000&cul%5B%5D=青色&cul%5B%5D=红色
如您所见,我有以下参数:mc、min、max、fc[] 和 cul[]。最后两个是数组。
当我在链接中有一个或两个数组时,如何为用户创建一个友好的 URL?
这是我的完整 htaccess 文件
选项 - 多视图
重写引擎开启
RewriteBase /
错误文档 404 /404.php
#从“/search.php?mc=123”重定向到“category-123”
RewriteCond %{THE_REQUEST} /search.php?mc=([^&]+)\sHTTP [NC]
RewriteRule ^ 类别-%1? [R=301,L,NE]
RewriteRule ^category-([^./]+)/?$ ?mc=$1 [L,QSA,NC]
#从“/search.php?sc=123”重定向到“brand-123”
RewriteCond %{THE_REQUEST} /search.php?sc=([^&]+)\sHTTP [NC]
RewriteRule ^ 品牌-%1? [R=301,L,NE]
RewriteRule ^brand-([^./]+)/?$ ?sc=$1 [L,QSA,NC]
#从“/product.php?s=ab-cd”重定向到“ab-cd”
RewriteCond %{THE_REQUEST} /product.php?s=([^&]+)\sHTTP [NC]
重写规则 ^ %1? [R=301,L,NE]
重写规则 ^([^./]+)/?$ ?s=$1 [L,QSA,NC]
#从“/search.php?categorie=abc&search_string=abc”重定向到“categorie-abc/cautare-abc”
RewriteCond %{THE_REQUEST} /search.php?categorie=([^&]+)&search_string=([^&]+)\sHTTP [NC]
RewriteRule ^ 类别-%1/cautare-%2? [R=301,L,NE]
RewriteRule ^categorie-([^./]+)/cautare-([^./]+)/?$ ?categorie=$1&search_string=$2 [L,QSA,NC]
#用数组重写
RewriteCond %{THE_REQUEST} /search.php?mc=([^&]+)&fc[]=([^&]+)&min=([^&]+)&max=([^&]+)&cul[ ]=([^&]+)\sHTTP [NC]
RewriteRule ^ /category-%1/fc[]-%2/min-%3/max-%4/cul[]-%5? [R=301,L,NE]
RewriteRule ^category-([^./]+)/fc[]-([^./]+)/min-([^./]+)/max-([^./]+)/cul[ ]-([^./]+)/?$ ?mc=$1&fc[]=$2&min=$3&max=$4&fc[]=$5 [L,QSA,NC]
解决方案
推荐阅读
- android - Android:动画完成后如何导航到下一个屏幕
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'C:\\\\images\\\\imagetest.png'
- excel - 在活动行中查找与活动单元格值不同的值的前一个单元格地址(左侧)
- javascript - 数学 - 获取线围绕图表起点闭合的最小多边形
- python-3.x - Python OpenCv2将图像放在找到的脸上
- openstack - Octavia:尝试删除不可变负载均衡器
- kubernetes - coredns 转发插件使用 k8s 服务名称
- android-studio - fb messenger 聊天机器人在 WebView err unknown_url_scheme 错误中不起作用
- android - 如何找到当前安卓版本不支持的应用功能
- android - Android Material Design TextInputEditText 无法获取字符串