ajax - Wordpress admin-ajax.php 适用于 localhost 但不适用于服务器
问题描述
我正在使用 ajax 过滤 WordPress 中的自定义帖子类型。在我的本地主机(xampp)上,一切正常并且运行良好,过滤并显示适当的帖子。
到目前为止,我已经重建了整个站点以验证我的核心文件是否完整。我检查了数据库以确保我的 wp-options home 和 sit url 设置正确。我已经在 http 和 https 中尝试过,并重新保存了永久链接。
我还联系了我的托管服务提供商 (inMotion) 以确认我不需要做任何事情来在 WordPress 上启用 ajax。我还有另一个站点在同一台服务器上运行,它使用 ajax 没有问题。
本质上,可能是什么原因导致“$home_url/wp-admin/admin-ajax.php?grade-filter=&department-filter=+&search=&action=coursefilter”
抛出 GET 400 错误?
解决方案
可能有几个原因,但最常见的原因是没有设置漂亮的永久链接。
转到Settings > Permalinks
并启用漂亮的永久链接结构并点击Save。之后确保有.htaccess
包含以下代码的文件:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果您正在运行 nginx Web 服务器,Wordpress2
请为域启用模式,然后将其添加到您的.conf
文件中:
location / {
try_files $uri $uri/ /index.php?$args;
}
在官方 WordPress 文档中阅读更多信息:https ://codex.wordpress.org/Using_Permalinks
[更新]
根据您提供的信息,我可以假设自迁移以来唯一发生变化的是
home_url
/域和服务器端软件,例如Web 服务器和PHP
我建议您仔细检查这些差异,用新的域 URL 替换旧 URL,并确保该 URL 没有插件或其他脚本重新路由请求。
推荐阅读
- actions-on-google - 在我的谷歌操作中添加支持的语言时出错
- shopify - Shopify 液体 如何隐藏缺货产品,直到点击集合页面上的元素?
- authentication - Symfony 4.2:防火墙配置不加载内存用户提供程序
- javascript - 使用array.prototype时如何访问数组
- android - Intent.setType() 对 android 的 Intent 选择器的影响
- python - PyQT GUI 与不同线程中的 SQLAlchemy 查询
- javascript - 将液体分配给javascript变量
- android - 获取场地时获取 403
- python - Pandas - 条形图和折线图 - 日期时间轴
- android - 根据 ConstraintLayout 高度设置 Imageview 高度