406在PHP中不可接受

时间:2017-03-30 02:24:00

标签: http-status-code-406

我有一个PHP客户设置页面已经工作了几个月而没有更改页面代码。在这个页面上,我将var(char 255)保存到我的数据库中,该数据库包含一个存储路径,用于保存客户上传。保存新条目或更新现有条目时,我的页面现在为我提供了406 Not Acceptable错误代码。我花了一个小时与Godaddy技术支持,他们找不到任何错误。他们建议我“google”它。

我发现如果我将其存储在var

../ public / uploads / demo1 /它工作正常。

但如果我存储这个

../../ public / uploads / demo1 / OR ../../../public/uploads/demo1/我收到406错误。我需要的正确路径是../../../

我可以通过MySql Workbench直接进入DB并手动输入../../../路径,一切正常。我可以从数据库中回忆起来没有问题我只是无法更新或保存新条目。

}elseif (isset($_POST['update'])) {
  //query DB and push all values to record
  $dbusername = trim($_POST['username']);
    if (has_presence($dbusername)) {
       $dbusername = trim($_POST['username']); 
       $docstorage=$_POST['docstorage'];
$query  = "UPDATE customers SET dbusername='$dbusername', docstorage='$docstorage', ' WHERE dbusername='$dbusername'";
$result = mysqli_query($connection, $query);
$arrayresult2 = mysqli_fetch_array($result);

Godaddy Hosting,PHP 5.6.30,error_log为空

完成错误:

不可接受

在此服务器上找不到所请求资源/scratch/admin/users.php的适当表示。

此外,尝试使用ErrorDocument处理请求时遇到406 Not Acceptable错误。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

好的,修好了。

我将代码分解为单个输入框和“保存”按钮。超过../的任何内容都不会保存到我的数据库中。所以我排除了我的任何代码并再次称为Godaddy。

原来是一个mod安全设置。 Godaddy更新了他们的安全过滤器,这个功能停止了我的工作。我在共享服务器上,所以我无法自己进行更改,他们必须做所有事情。因此,他们列出了一条规则,让我能够让它发挥作用。请记住,如果您遇到此问题并拥有SSL证书,则主机需要将http和https版本列入白名单。我希望这可以帮助将来的某个人。我花了3个星期来解决这个问题!