本地wordpress安装仅显示主页,未找到所有其他页面


69

我正在本地安装一个实时Wordpress网站,主页上的所有链接都显示“未找到”错误。所有.htaccess文件都存在。

问题是除主页以外的每个页面都显示“未找到”错误,我找不到任何权限问题或任何其他导致其无法正常工作的问题。

有什么我可以尝试忽略的东西吗?对于众多问题,我深表歉意,但在弄清楚从哪里开始时遇到了麻烦。


wordpress.stackexchange.com提问可能会产生更好的答案。
Chiel 10 Brinke

Answers:


121

登录到管理面板(localhost / sitedirectory / wp-admin)并转到设置->永久链接,然后点击保存更改。镜像站点并更新站点URL后,通常需要重新构建永久链接。您无需更改任何设置,只需单击保存,它将使用选定的选项重建永久链接。

还要确保在mod_rewrite本地堆栈上启用了Apache模块。默认情况下,IIRC WAMP(以及可能的XAMPP)不启用此功能。在WAMP中执行此操作非常简单,只需单击任务栏中的WAMP图标,然后转到Apache-> Apache模块-> mod_rewrite(单击以进行切换),然后重新启动所有服务。

另外,我假设您已经更新了网站和首页网址(在wp_options数据库表中或在中wp-config.php)。供参考,有一个有关此的法典页面:移动Wordpress


4
永久链接上的保存更改为我完成了排序,谢谢
andy mccullough

3
如此简单却如此有帮助
Zach Saucier

2
这是解决问题的方法。为什么这个答案不是市场所解决的!!!!!
MOH 2014年

3
另一个提示:如果您已完成上述所有操作,但仍无法解决问题,请检查apache的AllowOverride指令。禁用此功能后,.htaccess文件将被完全忽略。参考:codex.wordpress.org/Using_Permalinks
Andrew Liu

1
您可能需要将此部分添加到答案中以确保完整性。没有它,我将无法正常工作。我还在网上发现一些人说,您需要确保.htaccess文件具有访问权限,而不仅仅是读访问权限,而且我还没有测试这是否是一个问题。否则,很好的答案,谢谢。:)
马丁·恩德

30

您可以用一种非常简单的方式来做。只是去

Settings >> Permalinks >> 然后单击“保存更改”,而不进行任何更改。

如果它给您带来.htaccess文件权限问题,则需要设置ROOT文件夹(wp-content文件夹所在的位置)的读写权限。

再去

Settings >> Permalinks >> 然后单击“保存更改”,而不进行任何更改。

就这样。希望它能解决问题。


很高兴听到它的帮助。
斯蒂尔·洛基

2
这对我
有用

@tfantina很高兴听到它对您有所帮助。
斯蒂尔·洛基

我缺少htaccess文件。有人忘记了将其提交到我的项目中。使用正确的htaccess文件,我的路由有效。
robskrob

@moshiuramit高兴地听到它对您有所帮助:)
斯蒂尔·


4

以为我会在遇到相同问题时对此加以补充,但无法访问wp-admin来更新永久链接。

确保在wp_options下编辑数据库,以使siteurl反映您的本地主机。我实际上发现,即使这样做,也无法解决我的问题,因此我在wp-config文件中放置了以下几行:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

添加这些行后,我就可以通过wp-admin或wp-login.php登录并按照列出的答案中的描述更新永久链接。


3

Apache -> Apache modules -> rewrite_module并确保将其打勾。然后将更改保存到永久链接。


2

另一件事是您可能必须更改.htaccess。例如,我在本地镜像了我的站点,但是在一个子文件夹中,我不得不更改.htaccess,但是Wordpress为您提供了所需的代码:

设置->永久链接->参见页面底部。

无论如何,提供的代码需要mod_rewrite才能正常工作,因此请将此答案与前面的;)结合起来。


0

大多数情况下,保存永久链接确实可以解决此问题,但是如果恰好刚移动了计算机并安装了新的MAMP副本,则还有另一件事需要检查。除了更新主机和虚拟主机及其所有功能(对于具有自定义域设置的多个站点)之外,别忘了打开MAMP->首选项-> Web服务器-> apache,并确保您将文档根目录保存在原位置在旧计算机上,而不是默认的/ htdocs /!那就是什么为我解决了。上面提到的AllowOverride指令的支持答案,只有当我在http.conf中看到该指令时,我才注意到文档根目录已关闭。我认为您可以直接编辑它http.conf,但万一MAMP将其用于其他任何事情,我会继续进行并更改MAMP首选项。


0

解决方案涉及此页面上的多个答案的组合:

  1. 在您的http配置中将apache的AllowOverride指令更改为All
  2. 重新启动Apache
  3. 转到“设置”->“永久链接”,然后单击“保存更改”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.