这是我的.htaccess正则表达式:
RewriteRule ^index.php/news/([0-9][0-9][0-9])?/16$ /index.php/news/$1/16 [L,R=301]
有效。但是,我需要将范围0-1879重定向到/index.php/news/$1/16
,并且需要超过1879才能重定向到http://otherdomain/index.php/news/$1/16
。
答案 0 :(得分:0)
你不应该这样做,但是......
以下是你如何匹配0-1879:
[0-9]|[1-9][0-9]{1,2}|1[0-7][0-9]{2}|18[0-6][0-9]|187[0-9]
以下是1880-infinity的匹配方式
18[8-9][0-9]|19[0-9]{2}|[2-9][0-9]{3}|[1-9][0-9]{4}
注意:通过交替,您需要将它们包装在组()
中以正确嵌套逻辑。
我推荐......
只需匹配0+位并重定向到其他域。如果数字是0-1879(在您的后端语言,控制器等),然后将它们重定向回原始域。或者弄清楚如果你做了我认为你正在做的事情,如何将旧的新闻迁移到另一个域。