0

我有这个重写规则:

RewriteRule ^/?([a-z]{2})/(printers|hdd|scanners|--some 40 more items go here --)/

注意部分(打印机|硬盘|扫描仪|--这里还有大约 40 个项目--)?那里有大约 40 件物品。有没有更简单的方法来执行此规则,而不是将所有这 40 个项目包括在内?这不仅仅是一个规则,还有很多这样的规则。

我知道我可以执行以下规则,但问题是,如果用户键入http://www.domain.com/us/foo,它仍然会得到 tru。然而,如果我只包含项目名称,如果找不到名称,则会引发错误。

RewriteRule ^/?([a-z]{2})/([a-zA-z0-9\-]+)/?$

有更简单的方法吗?我们可以像在 php 中那样将值存储在变量中并在 htaccess 页面的其他部分使用该变量吗?

4

1 回答 1

0

有更简单的方法吗?我们可以像在 php 中那样将值存储在变量中并在 htaccess 页面的其他部分使用该变量吗?

不,如果您不想让所有内容都通过,那么您必须明确列出您想要的所有内容。您可以这样做,也可以使用类似RewriteMap的东西,这需要服务器/虚拟主机配置访问。

于 2012-11-11T08:50:35.650 回答