1

我很好奇为什么它不能工作并寻找解决方案。

以下是在我的 htaccess

RewriteRule ^field/category/([a-zA-Z0-9\-]+)&([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2

这很好用,网址将是 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

它不起作用。- 字符不被视为文字。任何人都可以帮忙吗?谢谢。

4

2 回答 2

0

您必须转义 - 字符:

RewriteRule ^field/category/([a-zA-Z0-9\-]+)\-([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
于 2013-04-21T07:56:42.740 回答
0

我知道这是一个老问题,但我只花了一个小时才弄清楚,所以我想我应该分享答案:

将连字符替换为[\-]以使 RewriteRule 将其视为字符串文字。

所以最终的代码是:^field/category/([a-zA-Z0-9\-]+)[\-]([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2

于 2015-08-27T15:27:02.273 回答