我正在本地安装一个 live wordpress 站点,主页上的所有链接都显示 Not Found 错误。所有 .htaccess 文件都存在。
问题是除了主页之外的每个页面都显示 Not Found 错误,我找不到任何权限问题或任何其他会导致它无法工作的问题。
有什么我可以尝试但我可能会忽略的东西吗?对于这些模糊的问题,我深表歉意,但我无法弄清楚从哪里开始。
登录到管理面板 (localhost/sitedirectory/wp-admin) 并转到Settings->Permalinks并单击Save Changes。在镜像站点并更新站点 URL 后,通常需要重建永久链接。您无需更改任何设置,只需点击保存,它将使用所选选项重建永久链接。
还要确保mod_rewrite
在您的本地堆栈上启用了 Apache 模块。IIRC WAMP(和可能的 XAMPP)默认情况下不启用此功能。在 WAMP 中这样做很简单,只需单击任务栏中的 WAMP 图标,然后转到 Apache -> Apache Modules -> mod_rewrite(单击以切换),然后重新启动所有服务。
此外,我假设您已经更新了站点和主页 url(在wp_options
数据库表中或在 中wp-config.php
)。作为参考,有一个关于此的 Codex 页面:Moving Wordpress
你可以用一种非常简单的方式来做到这一点。只是去
Settings >> Permalinks >>
并单击“保存更改”而不更改任何内容。
如果它给你 .htaccess 文件权限问题,你需要设置你的 ROOT 文件夹(你的 wp-content 文件夹所在的位置)的读写权限。
然后再去
Settings >> Permalinks >>
并单击“保存更改”而不更改任何内容。
就这样。希望它能解决问题。
请启用rewrite_module
. 要在 Windows wamp上启用它,请点击以下wamp -> Apache ->Apache Module -> check rewrite_module
以为我会添加到这个,因为我遇到了同样的问题,但我无法访问 wp-admin 来更新永久链接。
请务必在 wp_options 下编辑您的数据库,以使 siteurl 镜像您的本地主机。我实际上发现即使我这样做了它也没有解决我的问题,所以我在 wp-config 文件中放置了以下几行:
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
一旦我添加了这些行,我就可以通过 wp-admin 或 wp-login.php 登录并按照列出的答案中的描述更新永久链接。
Apache -> Apache modules -> rewrite_module
并确保勾选此项。然后保存对永久链接的更改。
另一件事是您可能必须更改您的 .htaccess。例如,我在本地镜像了我的网站,但在子文件夹中,我不得不更改我的 .htaccess,但 Wordpress 为您提供了所需的代码:
设置 -> 固定链接 -> 见页面底部。
无论如何,提供的代码需要mod_rewrite才能正常工作,因此将此答案与上一个结合起来;)
该解决方案涉及此页面中多个答案的组合:
AllowOverride
指令更改为All
在您的 http 配置中。保存永久链接在大多数情况下确实可以解决这个问题,但如果您碰巧刚刚移动了机器并安装了 MAMP 的新副本,那么还有另一件事需要检查。除了更新主机和虚拟主机以及所有这些(对于具有自定义域设置的多个站点),不要忘记打开 MAMP -> 首选项 -> Web 服务器 -> apache 并确保您的文档根目录位于它所在的位置在您的旧机器上,而不是默认的 /htdocs/!这就是为我解决它的原因。回答上面提到的 AllowOverride 指令的道具,只有当我在 http.conf 中看到它时,我才注意到文档根目录已关闭。我认为你可以直接编辑它 http.conf 但万一 MAMP 将它用于其他任何事情,我继续进行并在 MAMP 首选项中进行了更改。