【问题标题】:Wordpress throws 404 when I try to use a custom template page当我尝试使用自定义模板页面时,Wordpress 抛出 404
【发布时间】:2023-03-24 05:43:01
【问题描述】:

我制作了一个自定义页面模板(例如,关于页面),在文件中添加了模板名称并保存了它。然后我尝试使用该模板在 wp 管理控制台中添加一个页面。它说页面已成功创建,但是当我尝试在浏览器中打开它时,它显示 404 错误。我做错了什么? 谢谢。

我忘了说我将永久链接设置为 /%postname%/ 然后它给了我这个错误。如果我不使用永久链接(默认设置),它会正常显示页面。

【问题讨论】:

    标签: php wordpress wordpress-theming http-status-code-404


    【解决方案1】:

    朋友们, 我对自定义模板进行了一次更改,它解决了上述问题。

    而不是 require_once('./wp-blog-header.php'); 在包含 Wordpress 主题的自定义页面中,

    我用过这个, require_once('./wp-load.php');

    这解决了我的问题。

    如果它对您有用,请告诉我。我花了几个小时为 theworksheets.com 跟踪和修复这个问题

    【讨论】:

      【解决方案2】:

      我认为问题与您的自定义模板无关,而是您的永久链接结构。

      不建议只使用/%postname%/ - 引用the Codex

      出于性能原因,强烈建议不要使用 %postname% 开始永久链接。

      问题页面的 slug(URL 中使用的“净化”标题)是什么?

      【讨论】:

      • 它只是“关于”字符串。我试图在问题上找到一些东西,似乎 Apache mod_rewrite 有一些东西。我使用本地 wamp,所以可能我应该设置一些设置,尽管我已经打开了 apache conf 文件中的设置来加载 mod_rewrite 模块。
      【解决方案3】:

      确保您在编辑配置文件后重新启动了 Apache。

      还要检查您的 WordPress 根目录中是否有一个 .htaccess 文件(没有文件名,扩展名为“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
      

      【讨论】:

      • 我都检查过了,.htaccess 文件是一样的。可能我可以对此做任何其他事情吗?另一种方法是我可以将其上传到托管服务提供商并在那里进行测试。谢谢。
      • 要仔细检查您是否确实加载了 mod_rewrite,请取出 &lt;IfModule /&gt; 行。如果未加载 mod_rewrite,Apache 应该会抛出一个不稳定的问题。
      • 是的,它只是没有开始。这是否意味着未加载 mod_rewrite ?我在 httpd.conf 文件中有这个未注释的字符串:LoadModule rewrite_module modules/mod_rewrite.so 足以加载这个模块吗?
      • 您运行的是哪个版本的 Apache?我认为有些人还需要ClearModuleList 未注释行,以及AddModule mod_rewrite.c。另外,你确定重启了 Apache?
      猜你喜欢
      • 2021-02-03
      • 2013-06-25
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多