我正在尝试编写一个.htaccess正则表达式,但仍然无法实现。我花了很多时间想办法。当然,使用regex,很难找到确切的答案。所以我很感激你的帮助。
场景是:有一个脚本(WordPress插件)向我的API网关发出POST请求,如下所示:
https://example.com/?edd_action=check_license&item_id=111&license=UN_222&url=some.url.com
一切都正常,但是在我的端有一个API更新,现在它不会执行它。但是,在执行多个测试之后,我发现相同的请求在以这种方式执行时是有效的:
https://example.com/wp-admin/admin-ajax.php?edd_action=check_license&item_id=111&license=UN_222&url=some.url.com
因为有很多人已经安装了WordPress插件,并且他们的许可证被禁用了,所以他们不能进行自动更新,唯一的方法是将请求重定向到将使其插件活动的请求。
我们要解决的问题是如何将邮件请求重定向到:
https://example.com/?edd_action=check_license&item_id=111&license=UN_222&url=some.url.com
至:
https://example.com/wp-admin/admin-ajax.php?edd_action=check_license&item_id=111&license=UN_222&url=some.url.com
使用htaccess regex规则。
对于如何处理这个问题,有什么想法吗?
发布于 2022-05-26 15:18:31
您可以在.htaccess顶部尝试此重定向规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^edd_action=check_license&item_id=[^&]+&license=[^&]+&url=[^&]+$ [NC]
RewriteRule ^$ /wp-admin/admin-ajax.php [L,R=302,NE]
# other WP .htaccess code goes below this
如果给定的查询字符串模式匹配成功,此规则将将着陆页URI重定向到/wp-admin/admin-ajax.php
。
https://stackoverflow.com/questions/72394026
复制相似问题