我正在努力处理一个重定向,一开始我觉得这个重定向很简单,但事实并非如此。我想根据输入 URL 中存在的数字 ID 在 .htaccess 文件中进行重定向。 前任。 https://example.com/bla-id200000.html
ID 可以有 6 或 7 位数字
我的第一次尝试是询问chatgpt,它给了我一些线索,但最终浪费了我大约2个小时的时间,因为它的解决方案不起作用。根据 chatgpt 的说法,问题是 RewriteCond 不支持像 < for capturing group matches.
这样的直接比较运算符有人可以帮我解决这个问题吗?任何提示将不胜感激:)
我试过了
RewriteCond %{REQUEST_URI} ^/([^/]+)-id(\d+)\.html$
RewriteCond %2<200000
RewriteRule .* https://subdomain.example.com/item?id=%2 [L]
RewriteCond %{REQUEST_URI} ^/([^/]+)-id(\d+)\.html$
RewriteRule .* item?id=%2 [L,QSA]
结果是:内部服务器错误
expr
与数字运算符一起使用,它们是:
所以你可以尝试这个而不是
RewriteCond %2<200000
:
RewriteCond expr "%2 -lt 200000"
还有一个整数比较
integercomp
但我没有找到它的使用示例,可能类似于RewriteCond integercomp %2 -lt 200000
我终于明白了!
RewriteCond "%1" "<200000"
上面的效果很好。谢谢您的帮助:)