建站问题 第2页 不少用户提到自己的主机无法正常发送注册邮件,引起的原因有很多,而大部分原因是由于主机禁用了mail函数 111 面对以上问题,使用独立服务器的用户毫不担心,因为可以去开启mail函数,这点就不用在这给出解决方案了;还有一部分用户没有独立的云服务器,没有改动服务器环境的权限,这就需要绕一圈来解决这个问题,其实说绕一圈不如说这是更好的解决方案:使用SMTP插件来解决,重点介绍插件Configure SMTP。 提示:使用SMTP插件时需要你的邮箱开启SMTP服务,不然发信不了。 Configure SMTP插件解决WordPress邮件无法发送 直接看图,首先你需要安装Configure SMTP插件,点此进入插件下载,然后去设置一下。 图上有详细的标注说明每个填写项,我们建议使用QQ邮箱的SMTP服务,之前大前端和现在themebetter都是使用的QQ邮箱作为桥梁,最新的QQ邮箱使用了授权码代替了原有的QQ密码,所以在密码一栏中需要填写SMTP的授权码。 以上填写完毕你可以点击设置页面下面的测试,看看是否设置OK,如果可以收到测试邮件,说明一切妥当,再检查下你设置的邮箱昵称是否正确,然后邮件就刷刷的跑起来了。 需要说明的是,安装了这个插件后你的注册和评论回复通知的邮件都会通过这个渠道发送,相当于全部替换了WordPress默认的邮件服务。 欢迎关注学派吧
最近很多主题用户提到安装完WordPress后中文标签出现404的情况,出现这种情况一般修改固定链接设置是没有效果的,多数是windows主机带来的麻烦。网上多数人说要修改核心文件class-wp.php来实现,这种方法不适合没有代码意识的同学,而且在WordPress升级的时候很有可能被遗忘,下面themebetter就给大家介绍几种方法供选择。 方法一:更改每个标签的别名为英文或数字 此法适合大部分小站点,没有很多标签,一般发现问题的时候也都是新站,所以一个个更改起来比较容易,同样对后续的SEO也会有所帮助,毕竟链接中出现一串中文有点很low的感觉。不要感觉很麻烦的样子,因为更改过程很快,可能最多几分钟的样子。 操作方法:后台 – 文章 – 标签,快速编辑某标签,更改其别名为英文或数字即可。 方法二:使用插件 此法适合懒人或者标签量数百以上的站点,原理就是通过批量修改标签的别名或者拦截处理,这种方法一般可以做到一劳永逸,但很有可能意味着以后站点就离不开它了。 推荐插件:Auto Tag Slug 或 IIS Chinese Tag Permalink 操作方法:后台 – 插件 – 搜索插件名 – 安装并启用插件,后面的设置就很简单了。 方法三:更改服务器rewrite规则 此法适合有服务器管理权限且知道如何修改rewrite的站长,很多站长看到这里就pass了,但想折腾的你为何不多走一步呢? 之前的规则RewriteRule /tag/(.*)$ /index\.php\?tag=$1 更改后的规则RewriteRule /tag/(.*)/$ /index\.php\?tag=$1 以上几种方法都能有效解决WordPress访问中文标签出现404的问题,选择适合自己和站点的才是最合适的,不过themebetter建议使用第一种方法。
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
2024-12-22
随着现在各种小视频的风靡,不少使用WordPress程序的站点都在自己的网站中插入视频,考虑到视频的加载体验,themebetter推荐大家使用第三方视频网站的分享代码。顾及到手机端也正常观看视频,分享视频的时候请大家使用通用代码 iframe 形式的代码。 WordPress文章内容中插入外链视频 WordPress后台添加或编辑文章的时候,将编辑器切换到文本模式(编辑器右上角),然后粘贴入你复制过来的 iframe 代码,如下图。 代码中的 width=600 和 height=400 分别指的是视频的宽度600和高度400,一般不需要额外调整。themebetter的主题都对视频做了自适应处理,电脑端看起来很大,到了手机端是等比例尺寸缩小。 下面以国内各大视频网站为例themebetter教大家怎么获取到 iframe 代码。 获取视频的 iframe 代码 注:点击以下图片中的黑色框即可看到分享视频的代码,红色框表示的是 iframe 代码,复制即可。 优酷视频的 iframe 代码获取 腾讯视频的 iframe 代码获取 爱奇艺视频的 iframe 代码获取
WordPress菜单功能很强大,但很多用户安装了WordPress程序发现菜单无法新窗口打开,如果是菜单外链到其他网站,这个就是必需,继续往下看,其实很简单。 进入 后台 – 外观 – 菜单,点击右上角的“显示选项”,会出现显示高级菜单属性的一些勾选项,勾选其中的”链接目标”即可激活菜单在新窗口打开的功能,具体请看图。 扩展:WordPress菜单功能详解
很多新手在初遇WordPress时比较迷茫,其实只要明白其运行原理就能很好的驾驭。 如果你看此文时还没有安装WordPress程序,请先看这里:WordPress程序的快速安装。 一个很好的比喻:WordPress程序是身体、WordPress主题是衣服。只有传上合适的衣服,你的WordPress站点才算是真正开始。如果你还没有合适主题,可以看看themebetter为大家准备的WordPress主题。 WordPress主题安装方法一: 进入网站后台(一般是:域名/wp-admin),点击左侧菜单中的外观,然后点击主题,右侧会有“添加”按钮,点击“上传主题”并选择你要安装的主题压缩包,然后点击启用即可,操作如下: WordPress主题安装方法二: 将解压后的主题文件夹上传到网站空间/wp-content/themes/文件夹下,进入后台 – 主题,找到你的主题并点击启用即可,操作步骤如下: 以上就是wordpress主题的安装方法了。 PS:一般情况下,主题安装好后都要进行初始化设置,如果你的后台左侧菜单-外观中有“xxx主题设置”的字眼,点开设置一下,然后保存设置,至此才算真的安装好主题了。
WordPress是一个注重美学、易用性和网络标准的个人信息发布平台。WordPress虽为免费的开源软件,但其价值无法用金钱来衡量。 使用WordPress可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress能让您省却对后台技术的担心,集中精力做好网站的内容。 WordPress最新版下载 1、下载以上WordPress最新版压缩包到本地,解压缩,将所有解压的文件上传至服务器相应目录,然后通过浏览器访问该目录,即可进行快速安装,这个过程只需5分钟。 2、如果之前没有配置文件,你需要点击“创建配置文件”,然后就到了这里。 注意: 以上内容的正确性,表前缀一般不必修改,如果数据库和文件在同一个主机或服务器,那么数据库主机也可默认为 localhost; 如果数据库相关信息不明确,可以咨询主机商或云服务器商; 数据库名需要先存在于你的数据库中。 3、提交后,如无异常会提醒“进行安装”,点击即可。 4、最后是填写网站标题、管理员登录邮箱密码等信息,填写完成即可登录进后台了。 写在最后: 强烈建议各位站长选择靠谱服务器商,不懂运维的朋友建议寻找一个售后比较好的。商祺云 www.sq9.cn;待网站建成,内容将是你取胜的关键,珍惜生命和时间,请不要随意做垃圾站。 选择一个好的WordPress主题,开启一篇新的天空。
tob主题用户反馈一个问题,文章点赞时总是没有反应,经测试发现是POST请求的文件报错了,具体报错信息如下: Internal Server Error Directory “/wp-content/themes” is writeable by group 这是由于主题所在目录被设置为群组可写权限,但是PHP环境的设置是不能访问才导致报错的发生。 解决报错:Directory “xxxxx” is writeable by group 的具体方法 要解决这个问题的方法其实很简单,将报错目录的权限改为755即可。 具体操作方法:用管理员账户登入FTP软件,如 Filezilla,进入wp-content目录下,右键themes目录,然后更改权限为755。 当然你还可以使用SSH登入服务器用命令修改目录权限。
利用WordPress搭建一些定制或特殊站点时会需要移除WordPress的相关更新提示,但网上有很多是不能够正常解决问题,所以在这里告诉大家下面比较简单的方法。 只需要将下面的代码块复制到主题下的 functions.php 文件中,最好连注释一起复制,方便日后阅读和使用代码: // 移除wordpress核心更新提示 add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) ); // 移除wordpress插件更新提示 remove_action( 'load-update-core.php', 'wp_update_plugins' ); add_filter( 'pre_site_transient_update_plugins', create_function( '$b', "return null;" ) );
Iconfont,从事设计与开发的人员应该都知道,这是一个NIU X的图标站。 Iconfont的自我介绍: Iconfont是阿里妈妈MUX倾力打造的矢量图标管理、交流平台。设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。 只看介绍可能很难联想到和WordPress站长有什么关系,但要说道实用性,估计每位站长都觉得很赞: Iconfont上有数以百万计的图标(目前二百多万个图标),贡献者很多; 你可以在Iconfont上选择自己喜欢的图标; 你可以将喜欢的图标简单的运用到自己的网站上; 你可以直接使用阿里的外链图标文件,速度很快,重要的是还支持https; 所以,你应该想尝试一下。 目前Iconfont支持微博和Github账户的直接登录,你根本不用注册,去试试吧,Iconfont.cn。 登录后,你会看到一个大大的搜索框,然后输入你想要的中文或者英文,比如你想要一个“首页”的图标,你可以直接搜索“首页”或者“房子”来查找。 每个图标上都有一个添加入库的购物车图标,只需点击这个图标即可将该图标收纳入库。 当你觉得收纳的图标足够了的时候,你可以点击页面右上角的购物车来“添加至项目”,没有项目的话可以创建一个项目。 然后你就来到了图标项目页,你可以看到刚刚选择的所有图标。 浩子说:不要嫌我啰嗦,我现在找一个图标速度飞快,因为流程就这些,图标找好了就要用上,继续下文。 Iconfont图标在网页中的运用: 第一步:在图标项目页中可以“查看在线链接”,你将得到类似下图的代码。 第二步:将以下全部代码复制到 主题设置-自定义代码-自定义css样式 中。 PS:非themebetter主题可以自行添加到主题使用的样式表中,一般是 style.css。 /* 这段代码改成你自己项目的代码 */ @font-face { font-family: 'iconfont'; /* project id 554365 */ src: url('//at.alicdn.com/t/font_554365_4c45s45ollgwg66r.eot'); src: url('//at.alicdn.com/t/font_554365_4c45s45ollgwg66r.eot?#iefix') format('embedded-opentype'), url('//at.alicdn.com/t/font_554365_4c45s45ollgwg66r.woff') format('woff'), url('//at.alicdn.com/t/font_554365_4c45s45ollgwg66r.ttf') format('truetype'), url('//at.alicdn.com/t/font_554365_4c45s45ollgwg66r.svg#iconfont') format('svg'); } /* 这段必须有 */ .iconfont{ font-family:"iconfont" !important; font-style:normal; -webkit-font-smoothing: antialiased; -webkit-text-stroke-width: 0.2px; -moz-osx-font-smoothing: grayscale; } 第三步:选择相应图标并复制图标代码,如: ,然后像下面一样使用。 <i class="iconfont"></i> 第四步:复制第三步的全部代码粘贴到你想要显示图标的位置。 如果你想在导航菜单中加入图标,你需要将代码复制到 外观-菜单 的 导航标签 中,比如你的导航文字原本是“首页”,现在你只需要在“首页”前面加上第三步的代码即可。 如果你想在文章中加入图标,你需要在编辑文章的时候切换成文本模式,将第三步的代码粘贴进去即可。 如果你想修改主题的代码并添加或者替换图标,你需要找到合适的位置来放置第三步的代码即可。
不得不说WordPress的菜单功能对于新手有些复杂,读完此文,希望可以解决你对WordPress菜单的所有疑惑。 进入后台“外观 – 菜单”,大部分主题都会对菜单功能进行设计,一般主题会有1-2个位置的菜单,如果下图中的第5处没有主题位置,就说明你使用的主题不支持WordPress菜单功能。 1、你可以直接“编辑菜单”或“创建新菜单”,菜单的名称只是用来区分菜单的,不会在前台显示出来。 2和3、左侧栏目的所有项都可以勾选后点击添加到菜单,可以混合使用,比如1个分类、2个页面,还可以自定义一个网址的菜单。 4、被选择的菜单会显示在右侧的这个区域,可以随意拖动其上下位置进行排序,也可以拖动到某个菜单的下面为其子菜单;菜单右侧的箭头下拉展开后会有更为详细的设置,但一般不用设置。 5、被选择的菜单在主题的那个位置显示,你只需要选择主题位置即可,如果需要显示到多个位置,也可以多选,这个步骤很重要,如果没有选择,那么主题中是不会出现你选择的菜单。 6、所有设置完毕,记得保存。 此时网站前台应该有效果出现了, 如果没有效果,可能是以下几种问题: 安装了缓存插件,设置数据没有及时更新,解决办法就是清除缓存插件带来的缓存,如果没有地方清除,请先关闭插件后再保存一次菜单; 主题的菜单位置有问题,这个需要联系主题开发者; 手抖了,没有点住保存,哈哈。
帮客户迁移一个网站(LINUX+APACHE+MYSQL)帝国CMS,网站后台可以登陆,原网站内容和新闻可以访问,但修改和新增后,生成不了新的HTML 新HTML打开提示404, 1.查看MYSQL数据表,新闻里表里已经有这个一条记录, 2.查看服务器网站目录,新闻目录下没有生成HTML 解决办法 如果是liunx系统,需要给这个目录777属性,不然文章生成不了,改好属性之后更新栏目目录,就可以看到了。 # chmod -R 777 /data/web/www 再次生成网站,OK。可以访问 如果有搬迁网站-服务器购买 可以我们 QQ 690624
据云头条报道,VPS 服务商 Kuriko 因 rm -rf /*,宿主机上所有数据丢失了。 Kuriko 4 月 24 日在其官网刊登香港 NAT 区故障声明,内容如下:由于机房技术的rm -rf /*,导致目前宿主机上所有数据丢失,我们正在尝试恢复原有数据以及获取备份资料,但恢复可能较小。目前该区域所有主机处于 OFFLINE 中。 rm 是 linux 系统下删除文件的命令。-r 代表删除这个下面的一切,f 表示不需要用户确认,直接执行,通常这个命令都是指定文件夹用的, 比如 rm -rf /home/test/ 就是删除/home/test/这个文件夹下面的所有东西,但是如果后面的文件夹路径没有加,rm -rf / 在服务器上也就意味着…. 网友评论: @-H-E-N-G-:无言以对,这是真的大牛才干的出来的 @五柳:立马将盘卸载,挂载到其它系统,禁止一切读写行为,用extundelete命令,运气好能找回来80-90%数据,一般人我不告送他 @Jennie:机房技术现可安在? @野火:技术人员原本应该是想输入执行:rm -rf ./* 的吧 @OsXe:欲盖弥彰,这么可笑的理由不信。这个命令装完系统就禁用的
9 月 4 日,微软在美国中南部地区的圣安东尼奥数据中心由于雷电天气影响导致电压激增,数据中心的冷却系统发生故障。为保证数据和硬件完整性,数据中心的自动化措施强制关闭了系统电源以防止机器因过热造成损坏。这一事故引发了 Azure 中断,Office 365 以及 Azure Active Directory 服务都受到影响,并且恢复相关存储服务经历了很长时间。 故障从 9 月 4 日上午 9 点(北京时间 9 月 4 日 17:00)左右开始出现问题,到 9 月 5 日 13 点左右(北京时间 9 月 5 日 21:00 左右),微软大多数受影响服务的存储可用性已经恢复,整个故障中断时间超过 24 小时。 跟踪服务中断的 DownDetector.com 网站显示 Azure 服务中断主要位于德克萨斯州: Azure 官方推特 Azure Support 让用户查看 Azure 状态页面,但是 Azure 服务中断甚至影响到该页面也一度无法访问。Azure Support 将事故称为“网络问题”,并表示中断只会影响美国中南部的客户,但是很多用户表示中断已经影响了包括西欧、亚洲在内的其他地区。 Azure Support 在对用户的回复中澄清了为什么其他地区会受到影响:“在某种程度上,我们所有的数据中心都是相互联系的。因此,如果一个数据中心出现故障,它将转移到其他数据中心。此外,在欧洲的客户可能会在受影响的数据中心托管一些资源。“ 包括 Office 365 和 VSTS (Visual Studio Team Services)在内的近 40 个 Azure 服务受到影响。根据 Office 365 的公告,Office 365 用户遇到的问题类型如下: Exchange – 某些用户可能无法访问网页上的 Outlook。 通过其他协议进行的电子邮件访问则有可能不受影响。 Power BI – 用户可能收到“服务器不可用”错误或可能无法登录。 SharePoint – 大多数影响已得到缓解,但一部分用户可能无法进行更改或更改无法保存。 Microsoft Teams – 用户可能无法访问 Teams 的 Office 文档。 Intune – 受影响的用户可能无法访问 Intune 门户或其他功能。 根据 VSTS 的公告,这次中断影响了使用微软 Visual Studio Team Services 的开发人员,导致他们无法访问帐户,报告仪表板也无法加载。 根据 Microsoft Dynamics 公告,这次中断还影响了 Azure Active Directory,Microsoft Dynamics Finance 以及 Operations 和...
前言 今天夜里小编在更新我们学派吧的网站、当发布文章的时候突然提示code “40310032” 这个错误、还是post.php文件。 小编还是排查问题所在。是不是因为采集接口的问题,后来检查并没有故障 后来回想下 这几天网站、服务器、CDN 都操作了什么、 当解决以后。发现问题真的很简单,。是CDN WAF 功能问题、因为我们想安全一点。增加了这个、 当关闭以后就很正常了。 结语 所以在这里提醒下网络朋友,不熟悉的功能不要去修改、尽量做好备份、等
前言 前段时间有网友跟学派吧反馈问题说。WordPress上传文件提示HTTP错误,我们将排查处理过程进行记录。分享出来 原因排查 1. 上传一个十几兆mp4的文件上传进度到达百分之百,会媒体提示http错误 2. 刚开始怀疑是PHP、Nginx的上传大小限制了。但是查看PHP、Nginx配置均配置了1000M vim /etc/nginx/conf.d/default.conf location / { root /data/web; index index.php index.html index.htm; client_max_body_size 000M; } vim /etc/php.ini upload_max_filesize = 000M post_max_size = 000M max_execution_time = 300 3. 查看Nginx erro日志 tail /var/log/nginx/error.log 2018/02/14 09:32:07 [error] 87522#87522: *1 client intended to send too large body: 35016434 bytes, client: 36.111.88.33, server: localhost, request: "POST /wp-admin/async-upload.php HTTP/1.1", host: "117.66.240.116:81", referrer: "http://117.66.240.116:81/wp-admin/media-new.php" 只有下面这一行是最主要的保存信息。以下错误就是body限制大小的问题 client intended to send too large body 4. 将限制大小的设定在http中后上串资源就不会在有限制 vim /etc/nginx/nginx.conf http{ client_max_body_size 1000M; keepalive_timeout 300; } 语录 如果网友遇到问题,也一定不要着急,可以先百度进行查找下资料。QQ群进行咨询、 可以加我们的QQ群 进行一起教程
前言 现在SSL越来越普及了。但是很多朋友不知道如何设置、今天学派吧-给新朋友演示下。 一、系统文件修改 二、后台文件修改 三、安装插件 首先按照自己的项目运行服务器把证书安装好,干货君以腾讯云为例:证书安装指引 – SSL 证书 – 文档平台 – 腾讯云文档平台 – 腾讯云。 干货君使用nginx反向代理,apache作为项目运行服务器为例,修改nginx/conf文件夹下面的nginx.conf(将下方代码块添加到文件中或把文件中443代码块按此方式设置)。 server { listen 443; server_name www.nrgh.org; #填写绑定证书的域名 ssl on; ssl_certificate 1_www.nrgh.org_bundle.crt; ssl_certificate_key 2_www.nrgh.org.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on; location / { #项目路径,或反向代理的代码块 proxy_pass http://nrgh; } } 上方搞定在nginx.conf中加入下面这个代码块,你要负载均衡(集群使用)也是在这个代码块中搞 upstream www{ #下方写要代理的ip和端口号,下面ip是乱写的,真实的已隐去 server 111.111.205.11:56; } server { listen 80; server_name http://www.nrgh.org if ($scheme = http ) { #http请求转换为https return 301 https://$server_name$request_uri; } #即所有请求都到这里去找分配 location / { #全局实现80进来的请求,重定向为https了 proxy_pass http://www; #rewrite ^/(.*) https://$server_name/$1 permanent; } } 上面都配置之后,运行 nginx -t 并重启nginx试试效果 接下来说下会出现的问题: 1、上面都搞定之后,wordpress网站可能出现css和js还是走http请求,文章链接走https请求,这时候需要你把wordpress的媒体文件绝对路径替换相对路径,方法如下: 2、wordpress/wp-admin 后台进不去,登录无反应; 3、百度找了很多解决方法,却依然没有解决,甚至搞的连网站都打不开了; 4、等等。。。 一、系统文件修改 路径:网站根目录\wp-includes\functions.php 找到代码 require( ABSPATH . WPINC . ‘/option.php’ ); 在下方添加: add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); } add_filter('style_loader_src', 'agnostic_style_loader_src',...
前言 谷歌浏览器一直在推行 https,而今年更新通知 7 月份会将 http 标记为不安全,于是下定决心学派吧启用 https。经过一番折腾,最后终于改造成功,但是最后找了很多 http301 重定向到 https 的规则,很多都只能定向首页,而不能全站 301。最后才找到一个可以用的,分享给大家 htaccess规则 如果是没有htaccess规则,可以直接用以下规则 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> 如果已有如下默认规则, <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # BEGIN WordPress RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # EDN WordPress 注:规则必须加载 # BEGIN WordPress和# EDN WordPress之外 301状态码检测 可以通过站长工具(http://tool.chinaz.com/pagestatus/)进行状态码检测 检测主页和内页同时返回正确的301状态码,可以到百度站长平台进行https验证 验证后很快快照就会更新成https 还有很多其他办法可以实现。也有插件也可以。 欢迎来到我们学派吧站长群 右上角 一起讨论
前言 很多朋友wordpress删除文章时候文章的图片和略缩图源文件并不会从服务器删除,对于强迫症来说这太难受了,去网上搜索了一下,有相关的教程,下面的代码放到主题的functions.php文件中就可以 /* 删除文章时删除图片附件 */ function delete_post_and_attachments($post_ID) { global $wpdb; //删除特色图片 $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); foreach ( $thumbnails as $thumbnail ) { wp_delete_attachment( $thumbnail->meta_value, true ); } //删除图片附件 $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" ); foreach ( $attachments as $attachment ) { wp_delete_attachment( $attachment->ID, true ); } $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); } add_action('before_delete_post', 'delete_post_and_attachments'); /* 删除文章时删除图片附件over */ ps:这些小功能是我在建站过程中的一些需求,所以记录下来,方便下次使用 欢迎各位网络朋友前来投稿,把喜欢碰到的问题解决方案记录下来。以便下次使用。