WordPress给了我除主页以外的所有页面都找不到404页面

Ada*_*dam 112 wordpress

我突然转到我的WordPress网站,所有页面都给了我一个404页面找不到页面.我假设问题在于永久链接结构,我可以发誓我没有触及.固定链接设置为"月份和名称".

我在网上研究过这个问题的类似实例,其中很多都与.htaccess文件有关?我试着找,但我做不到.也许它以某种方式被删除了?应该在哪里定位.

任何建议都会有所帮助

当然,我可以看到隐藏的文件.

小智 93

.htaccess是一个隐藏文件,因此您必须将所有文件设置为在ftp中可见.

我建议你将永久链接结构恢复为默认值(?p = ID),这样你才能确保.htaccess是问题.

之后,您可以再次设置"月份和名称"结构,看看它是否有效.

PS:你升级到3.1了吗?在这种情况下,我见过一些有插件问题的人.


usa*_*man 50

修复这个问题很简单,如果你使用了比其他固定链接default,例如Day and name,Month and name,Numeric,Post name或者Custom Structure,你只需要

登录您的管理区域:Settings > Permalinks应该是:http://yoursite.com/wp-admin/options-permalink.php

选择Default永久链接设置,然后保存更改

然后,您可以将其再次返回到您之前的其他固定链接选项,或者按照您的愿望保留它default

请注意,当您将站点从域或位置移动到另一个站点或位置时,可能会发生此问题.

  • 完美答案+100 (2认同)

geo*_*eos 50

基本上.htaccess文件应该存在,httpd.conf应该是正确的.

就我而言,我在以下部分更改了文件/etc/httpd/conf/httpd.conf:

<Directory "/var/www/html">
Run Code Online (Sandbox Code Playgroud)

换线是:

AllowOverride None
Run Code Online (Sandbox Code Playgroud)

AllowOverride All
Run Code Online (Sandbox Code Playgroud)

并重新启动Web服务器.

  • 这几乎总是问题所在.应该是最佳答案. (2认同)

tsv*_*kas 28

如果默认行为(example.com/?p=42)正常,您应该:

  • 更改为首选固定链接样式:Admin: Settings > Permalinks,然后单击"保存".有时它解决了这个问题.如果没有:
  • 验证文件/path/to/wordpress/.htaccess是否已更改,现在包含该行RewriteEngine On.如果它不包括该行,则是Wordpress权限问题.
  • 验证是否已加载'rewrite'模块:使用创建PHP文件

    <?php
      phpinfo()
    ?>
    
    Run Code Online (Sandbox Code Playgroud)

    在其中,在浏览器中打开并搜索mod_rewrite.它应该在"已加载的模块"部分中.如果不是,请启用它 - 查看您的apache默认index.html文件以获取详细信息 - 在Ubuntu中,您可以使用帮助程序执行此操作a2enmod.

  • 验证apache服务器是否正在查看该.htaccess文件.打开httpd.conf- 或者它是Ubuntu的替代品/etc/apache2/apache2.conf.在其中,你应该有类似的东西

    <Directory /path/to/wordpress>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
    
    Run Code Online (Sandbox Code Playgroud)
  • 进行这些更改后,请不要忘记重新启动Apache服务器. sudo service apache2 restart


Dav*_*nza 14

如果这一切都不起作用,你的.htaccess是正确的,固定链接技巧没有用,你可能没有启用你的apache2 reite mod.

我跑了这个,问题解决了:

 sudo a2enmod rewrite 
Run Code Online (Sandbox Code Playgroud)


小智 9

在WordPress管理界面中,执行以下操作:

  1. 转到管理员设置

  2. 单击永久链接并在单选按钮中选择帖子名称.

  3. 向下滚动,你会.htaccess在这里看到代码.

    <IfModule mod_rewrite.c>
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /wordpress/index.php [L]
    </IfModule> 
    
    Run Code Online (Sandbox Code Playgroud)
  4. 复制代码并粘贴到.htaccess文件中.


小智 6

这个错误是由于在apache httpd.conf文件中禁用了重写mod,只是取消注释并享受seo友好永久链接