banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

wordpress一个分号引发的血案CG的博客关闭一天

昨天保存失败,今天终于保存成功,CG 今天决定更新自己的 Wordpress。CG 使用的是 WordPress 的 2.6 版本,一直稳定,最近这次崩溃,CG 自己 目前原因已经找到,不过还是决定更新。

CG 最近在 blog 上放了 GG 的 adsense 内容,因为对用户的点击数量不满意决定自行修改 blog 中的部分设置,结果是 500 interal Error,对于这种情况 CG 因为遭遇过多次,一般都是因为伪静态设置与服务器权限的冲突问题,这种问题一般是直接联系息壤的客服解决,发完信息,等待...

20 分钟后,桌面右下角的 OE 闪动,是息壤开通伪静态成功的通知,功能恢复,打开 blog,500,无语。phpinfo () 没有问题,心想这回麻烦大了。

恢复几天以前备份的文件,重新打开,500 ,phpinfo () 无效,看来是恢复以后的主机没有开启伪静态,继续到息壤发工单,等待。。

晚上 22 点,一切恢复,然后重新修改 WP 的主题,使用正常,一切 OK。

晚上写篇日志,结果自动保存出现问题,还是 500,FT。

一直疑惑息壤是不是忽悠我,伪静态根本没有打开嘛,早上打他的 400 电话结果得到以下的解释:为了服务器安全考虑,目前不提供用户开放伪静态功能,需要自行申请打开,不过要对动态脚本进行限制,而一旦用户有非法操作,就会关闭,结果在用户端就是 500 错误,需要自己重新申请打开。

然后是第三次提交工单,waiting.., 不过这次有个小插曲,CG 犯了严重的错误,把开通伪静态写成了伪随机,汗!

一切恢复正常

事后经过 CG 检查,原因是 CG 在修改完成时丢掉了一个‘;’, 而因为一个丢失分号的 PHP 错误,息壤主机为了服务器安全,通常将所有危险的 PHP 错误进行处理,导致整站 PHP 无法解析,最后关闭伪静态功能,彻底无语。

最后补充一下什么叫伪静态 所谓伪静态就是一个网站的页面相对于用户和 SE 来说,是静态的页面,静态的 URL,但是实际上网站是动态生成的,比如 "www.lidaren.com/page/2" 这个 URL,虽然是动态的 PHP 页面,但是用户和 SE 看到是静态的 URL, 这是对用户和 SE 都很友好的,没有了?和 & 用来标示 get 请求,同时这种方式对 SEO 也是很有利的。但是缺点也是有的,这种方式依赖于服务器技术同时,由于 URL 的转换是在服务端完成的,因此相比用普通的 URL 会占用更多的服务器的资源,同时,因为伪静态的 URL 是可以自行定义的,会产生多对多的页面指向,导致服务器端的死循环处理等问题,危害服务器安全,因此,目前很多主机是不支持的

通常在 apache 的 httpd.conf 中加入

AcceptPathInfo On #允许获取 pathinfo

就可以配置启用伪静态的 URL 了,其他的配置需要在服务器服务端软件实现,php 可以使用 php 脚本对

$_SERVER['PATH_INFO']

进行读取和匹配即可

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。