我已经使用Contact-form-7创建了一个联系我们页面(my site.com/Contact-Us/),该页面在我的本地WordPress安装中运行良好。然而,当我在网站的在线版本上尝试相同的表单时,它只是挂起。
我使用Fiddler检查了http头,发现ajax提交使用的url是/contact-us/#wpcf7-f1-p15-o1. Fiddler显示的错误是HTTP 400“错误请求”。没有服务器信息,所以我假设请求甚至没有发送到服务器。
本地安装程序:Windows XP上的XAMPP
联机安装程序:Windows 2003上的IIS 6.0
WordPress版本:2.9.2
浏览器:Opera 10.61
更新:我通过WP Mail smtp插件使用gmail作为smtp服务器。
最合适的回答,由SO网友:John P Bloch 整理而成
我以前有过这个问题。有一个简单的方法和一个困难的方法来修复它。
简单的解决方案是:使用Linux服务器。
困难的解决办法是:写下你自己的联系方式。
IIS 6不能很好地处理WordPress使用或执行的任何操作。它在XAMPP上工作,因为这是一个运行PHP、MySQL、Apache和(通常用于Windows)Tomcat的LAMP堆栈。当IIS运行这些脚本时,所有脚本都会通过Windows运行。把你的网站想象成燃料,把Windows和Linux想象成不同类型的引擎(柴油机和普通机。你可以决定你认为哪个是哪个)。对一方有效的并不一定对另一方有效。