我有一个重写规则:
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页面的其他部分使用该变量吗?
发布于 2012-11-11 16:50:36
有没有更简单的方法来做这件事?我们可以将值存储在一个变量中,然后像在php中那样在htaccess页面的其他部分使用该变量吗?
不,如果你不想让所有的东西都通过,那么你必须明确列出你想要的所有东西。您可以这样做,也可以使用RewriteMap之类的东西,这需要服务器/vhost配置访问权限。
https://stackoverflow.com/questions/13328907
复制相似问题