godaddy 出现 406 Not Acceptable 解决方法

godaddy 升级cPanel以后,有些网站会出现

Not Acceptable

An appropriate representation of the requested resource /admin/ could not be found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

类似的错误.

原因可能是cPanel的一个安全机制(Mod security),当网址中包含特殊字符,或提交或查看过多的数据时,会触发此机制,只能让服务商加白名单,这样你包含的所有域名都会无视这个rule.

以下是其他解决方案(godaddy最新cPanel无效,不允许自定义关闭mod_security模块):

很多站长朋友可能不知道,这个是因为LINUX服务器里Apache设置将 Mod security 开启了,
就是因为这个MOD,当网址中包含有“%”等其它敏感字符的时候,就会被阻挡。当然这只是针对GBK版,如果安装的UTF版没问题的。因为GBK版本,我们在安装提交地址栏里有汉字,而汉字输入地址栏需要转码显示,转码后包含字符%,所以导致了这些问题的出现!

要解决这些问题,有3个方法:

1、针对上面的第一个问题,如果你装的是GBK版本DZ论坛,你可以直接跳过同意这一步的。
点击“同意”以后,你的地址栏会得到一个地址,注意观察,例如:

把step=1后面的删掉,再敲回车就可以安装了。但是这个方法治标不治本,程序安装完后,则有可能会
遇到后续问题,导致一些功能不能启用。比如你论坛会员ID为中文的,你点“编辑”会员资料或“搜索”该会员帖子,URL网址中就会转换ID的中文字符,这下仍然会出现406错误拦截页面。

2、装UTF-8编码的版本,毕竟是用国外的空间,而且UTF-8是一个国际通用的编码格式,据说性能
还好,但是缺点也是显而易见,如果是康盛的产品,你会发现,不管是DZ、Uchome还是SS,要扩展不是很容易,很少有针对UTF-8的插件、模板、风格,更多的还是GBK的,这个就看个人喜好了。

3、最直接有效办法,关闭 Mod security 设置。有的服务器可能允许用户通过使用.htaccess控制Mod security 选项权限,但是很多不支持。所以最好请空间商帮你关闭。给空间商发个ticket,请他们关闭Mod Security服务.

Hello, I am sorry to bother you! I hope you can help me disable the Mod security for this domain: 网址com, my cpanel account name is 用户名. Because my URL must contain the characters “%”, but the Mod security led to the error, thanks very much!

同时以下是通过增加.htaccess规则来关闭mod_security模块,2个规则是一样的功效,如果你增加后发现空间打开出现500错误,那么说明你的服务器不允许自定义关闭mod_security模块,只能联系空间商管理员了。

.htaccess代码:

<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>

或者:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

发表评论

电子邮件地址不会被公开。