客户wordpress网站要求实现全站静态化,我们经过调查选择了 staticpress2019 这个插件。实验阶段这个插件表现完美,生成的静态网站表现和动态完全一样。 然而去客户处部署后,发现出了问题:静态网站首页生成正常,但是打开文章报错,更具体是打开包含图片或视频的文章报错,纯文本的没事。 开始以为是媒体文件名称含中文的原因,可是改成拼音后,生成的静态网站依然报错。 仔细分析生成的静态文件,发现很多html被生成成了文件夹,而不是文件。文件夹内部是图片的网页文件。所以浏览器访问这个html时候,实际是访问服务器上面的文件夹,而此文件夹内没有 index.html 导致直接报错403 Forbiden。 查数据,看网站后台,调查很久,终于想通了原因。首先发现媒体库中的每个媒体也都有固定链接,而这些固定链接不知道为什么是其引用文章后面的链接。例如,文章 123.html 中包括图片 xyz.jpg,那么 xyz 这个媒体文件的固定链接就是 域名/123.html/xyz 。而观察 staticpress2019 生成静态文件时候的 log,它是先生成的媒体的固定链接,在生成文件的固定链接。导致 /123.html/ 提前被生成了目录,而后再生成 123.tml…
迁移前的wordpress是用docker部署的,迁移后要放在windows的Pc机上 docker exec -it 容器名 mysqldump -u用户名 -p密码 数据库名 >./db.sql 把迁移前的wordpress目录整体备份打包为 oldWp.zip 直接下载、安装 phpStudy(phpnow已经废了,害我走了弯路),默认是安装在了D:/phpStudyPro目录 用PhpStudy的控制面板追加wordpress数据库 下载wordpress,解压后直接放在 phpStudyPro目录中的WWW子目录中 (这一步可能不需要) 浏览器里面输入 https://localhost,按照向导生成wordpress网站(这一步可能不需要) 把数据库备份db.sql导入wordpress数据库 mysql -u用户名…
在根目录下的 wp_config.php 最后追加下面内容 $home = 'https://'.$_SERVER['HTTP_HOST']; $siteurl = 'https://'.$_SERVER['HTTP_HOST']; define('WP_HOME', $home); define('WP_SITEURL', $siteurl); 这样修改完了,图片之类的静态文件不受影响,需要的话要手工将静态文件路径改为相对路径。