解决Discuz! X前后端域名不一致时“请求来路不正确”的问题
分类 网站技术/村民张先生 发布于 2021-02-11 21:47
当Discuz! X的前端域名与源服务器上域名不一致时,在执行部分操作时会提示“抱歉,您的请求来路不正确或表单验证串不符...”,可进行如下修改:
打开 source/class/helper/helper_form.php 文件,查找:
if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' &&
在前方插入一行:
$subDomain = array('前端域名1', '前端域名2'); if(in_array($refererHost = preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']), $subDomain)) $_SERVER['HTTP_REFERER'] = str_replace($refererHost, preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST']), $_SERVER['HTTP_REFERER']);
修改后,当来源页面地址为前端域名时,自动将其替换为实际请求的网址,以此解决“请求来路不正确”问题。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截