Posts in Category: PHP

解决WordPress开启多站点模式后无法访问wp-content的Bug

本站之前使用的是 Nginx 作为 Web 服务器,不知什么时候开始(因为确实没怎么搭理过这里)空间商将 Web 服务器切换为 Apache。

这导致了一给问题,就是之前设置的针对 Nginx 做的伪静态或者是 URL 路由方式发生了变化,于是今天按照 WordPress 后台中的设置重写了一下 .htaccess 文件。

本来以为官方提供的肯定错不了,结果部署上之后发现 wp-content 和 wp-includs 两个路径无法被正常转向。官方提供的  .htaccess 内容应该是没问题的,但是苦于本博客采用的是国内的虚拟主机,而不是 VPS 之类的,所以没法直接调试。

无奈只能重写了  .htaccess 的内容。

在官方提供的 .htaccess 中间 uploaded files 之后

新增如下代码

[code lang=”shell”]RewriteRule ^([_0-9a-zA-Z-]+/)+wp-content/(.+) wp-content/$2 [R=301,NC,L]
RewriteRule ^([_0-9a-zA-Z-]+/)+wp-includes/(.+) wp-includes/$2 [R=301,NC,L][/code]

就可以了。

 

在Windows 2012 上的 IIS 8.5 + PHP 环境中设置 SMTP 服务

当前项目是架设在 IIS 8.5 + PHP 5.4环境下的。需要有发送邮件的功能,最常见的方式就是使用 PHP 的 Mail 函数,但是默认情况下,此函数在 IIS 中调用是失败的,需要做如下配置:

  1. 在服务器上『添加角色和功能』中的功能界面找到『 SMTP 服务器』并添加,它需要IIS6控制台,所以安装完成后需要使用IIS6管理界面进入管理
  2. 在开启 SMTP 服务器中中继功能:方法是进入 IIS 6 管理器,在SMTP Virtual server上点右键,选择属性,再选择访问选项卡,点『中继限制』中的『中继』按钮,选择『以下列表除外』(也可以保持『仅一下列表』,此时需要在下表中添加127.0.0.1)
  3. 设置SMTP服务为自动启动,进入系统服务,着大哦『简单邮件传输协议(SMTP)』,设置该服务启动模式为自动即可