我很好奇为什么它不能工作,并寻找解决办法。
下面是我的htaccess
RewriteRule ^field/category/([a-zA-Z0-9\-]+)&([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
这样做效果很好,URL将是domain.com/field/category/Ball&Drinks
如何将&更改为-并使其变为domain.com/field/category/Ball-Drinks
我尽力了
RewriteRule ^field/category/([a-zA-Z0-9\-]+)-([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
但它不起作用。-字符不被当作文字。有人能帮忙吗?谢谢。
2条答案
按热度按时间hgb9j2n61#
您必须转义-字符:
0ejtzxu12#
我知道这是一个老问题,但我刚刚花了一个小时弄清楚这个问题,所以我想我应该分享答案:
将连字符替换为
[\-]
以使RewriteRule将其视为字符串文字。因此,最终代码将是:
^field/category/([a-zA-Z0-9\-]+)[\-]([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2