Discuz前后端域名不一致时[请求来路不正确]的问题

前言说明

Discuz 的前端域名与源服务器上域名不一致时,在执行部分操作时会提示“抱歉,您的请求来路不正确或表单验证串不符...”,可进行如下修改:

解决方案

打开 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']);

修改后,当来源页面地址为前端域名时,自动将其替换为实际请求的网址,以此解决“请求来路不正确”问题。

特别鸣谢

转载自:大张小站




评论功能已关闭,请直接邮箱联系

Title - Artist
0:00