【发布时间】:2020-01-02 18:47:45
【问题描述】:
我安装了一个全新的 Wordpress 副本,并添加了一些帖子。当我打开站点时,我的所有帖子都显示出来了,但是当我单击特定页面时,单个页面显示在服务器上找不到 404 文件。我通过单击后端的视图尝试了相同的操作,并且显示相同。
我已将所有 .htaccess 和永久链接更新到后期结构,但无法正常工作。请帮我解决问题
【问题讨论】:
我安装了一个全新的 Wordpress 副本,并添加了一些帖子。当我打开站点时,我的所有帖子都显示出来了,但是当我单击特定页面时,单个页面显示在服务器上找不到 404 文件。我通过单击后端的视图尝试了相同的操作,并且显示相同。
我已将所有 .htaccess 和永久链接更新到后期结构,但无法正常工作。请帮我解决问题
【问题讨论】:
在 apache 下是否允许 .htaccess 请检查您的 apache.conf 并将 /var/www/html 的 All 设置为 Allowoveride 选项,并启用 mod_rewrite
sudo a2enmod rewrite
同时重启 apache。
【讨论】:
请尝试禁用当前主题并使用另一个主题检查它并对插件执行相同的操作。这可能是 wordpress 版本的插件/主题冲突问题。或者您也可以尝试通过从 define('WP_DEBUG', false); 更改 wp-config.php 文件代码来调试它;定义('WP_DEBUG', true);
【讨论】:
1.这是否适用于普通永久链接选项?
来回走动通常有助于解决我的错误,而且我用这种方法取得了很大的成功。
2.检查 slug 冲突(有一个页面与您的帖子类型具有相同的 slug)
3.Auto Flush Rewrite Rules(面向开发者)
// Code for themes
add_action( 'after_switch_theme', 'flush_rewrite_rules' );
// Code for plugins
register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
register_activation_hook( __FILE__, 'myplugin_flush_rewrites' );
function myplugin_flush_rewrites() {
// call your CPT registration function here (it should also be hooked into 'init')
myplugin_custom_post_types_registration();
flush_rewrite_rules();
}
【讨论】: