.htaccess 执行此操作的更好方法是访问重写规则

.htaccess 执行此操作的更好方法是访问重写规则,.htaccess,url-rewriting,.htaccess,Url Rewriting,我有一个重写规则,它检查url中的国家代码并相应地获取内容 问题是有60多个国家。这可以用不同的方式来完成,而不是在规则中输入所有国家的代码吗 RewriteRule ^/?(us|uk|ca)/p([0-9]+)/?$ 注意(美国|英国|加拿大)部分?还有很多东西需要进去。有更好的方法吗 RewriteRule ^/?([a-z][a-z])/p([0-9]+)/?$ 但它不会检查语言是否有效(我不知道如果存在这样的情况,您是否希望语言代码包含超过2个字符) 编辑:此regexp较短: R

我有一个重写规则,它检查url中的国家代码并相应地获取内容

问题是有60多个国家。这可以用不同的方式来完成,而不是在规则中输入所有国家的代码吗

RewriteRule ^/?(us|uk|ca)/p([0-9]+)/?$
注意(美国|英国|加拿大)部分?还有很多东西需要进去。有更好的方法吗

RewriteRule ^/?([a-z][a-z])/p([0-9]+)/?$
但它不会检查语言是否有效(我不知道如果存在这样的情况,您是否希望语言代码包含超过2个字符)

编辑:此regexp较短:

RewriteRule ^([a-z]{2})/p\d+/?$

第一个斜杠是无用的,\d+表示一个或多个数字,请参见@TerryE的注释

模式编写得更好
^([a-z]{2}/p\d+/?$
。请注意,您不会在
.htaccess
重写规则中看到前导斜杠,因为Perdir预处理会去掉它。是的,对,我只是复制粘贴的(抱歉,如果是错误的表达,我是法国人)并修改了相关的想法,请参见编辑