如果您正在共享托管's probably all you can do. If you still have the issue you might want to talk to you hosting provider'的支持 . 否则,请确保在服务器上启用 .htaccess 文件,正如@georgeos已建议的那样 . 请注意,并非始终使用 httpd.conf (Ubuntu indicates it is deprecated,但the official Apache docs still says it is often the main configuration file) . /etc/httpd/conf/httpd.conf 和 /etc/apache2/apache2.conf 似乎是此文件最常见的地方 . 找到公用文件夹的块,通常为 <Directory /var/www/> ,并确保 AllowOverride 指令设置为 All . 如果设置为 None ,则服务器将忽略您的 .htaccess 文件 .
22 回答
检查.htaccess上的目录是否正确
检查字段"siteurl"和"home"是否正确
.htaccess是一个隐藏文件,因此您必须将所有文件设置为在ftp中可见 .
我建议你将永久链接结构恢复为默认值(?p = ID),这样你才能确保.htaccess是问题 .
之后,您可以再次设置“月份和名称”结构,看看它是否有效 .
PS:你升级到3.1了吗?在这种情况下,我见过一些有插件问题的人 .
如果您使用
default
以外的永久链接(例如Day and name
,Month and name
,Numeric
,Post name
或Custom Structure
),则修复该问题非常简单,您只需要登录您的管理区域:
Settings > Permalinks
应该是:http://yoursite.com/wp-admin/options-permalink.php
Choose Default permalink setting ,然后保存更改
那么你可以 return it again to your other previous permalink choice 或 keep it as default as yo wish
请注意,当您将站点从域或位置移动到另一个站点或位置时,可能会发生此问题 .
基本上.htaccess文件应该存在,httpd.conf应该是正确的 .
就我而言,我在以下部分更改了文件/etc/httpd/conf/httpd.conf:
换线是:
至
并重新启动Web服务器 .
如果默认行为(
example.com/?p=42
)正在运行,您应该:更改为首选固定链接样式:
Admin: Settings > Permalinks
,然后单击“保存” . 有时它解决了这个问题 . 如果没有:确认文件
/path/to/wordpress/.htaccess
已更改,现在包含行RewriteEngine On
. 如果它没有Wordpress权限问题't include the line, it' .验证是否已加载'rewrite'模块:使用创建PHP文件
在其中,在浏览器中打开它并搜索
mod_rewrite
. 它应该在'Loaded Modules'部分 . 如果不是,请启用它 - 查看您的apache默认index.html
文件以获取详细信息 - 在Ubuntu中,您可以使用帮助程序a2enmod
执行此操作 ..htaccess
文件 . 打开httpd.conf
- 或者's Ubuntu'替代,/etc/apache2/apache2.conf
. 在其中,你应该有类似的东西sudo service apache2 restart
只需按照以下步骤操作即可轻松解决问题,如果您只需登录管理仪表板即可
Go to Settings » Permalinks, and simply click on Save Changes button
.这将更新永久链接设置并刷新重写规则 . 在大多数情况下,此解决方案修复了WordPress帖子404错误 . 但是,如果它不适合您,那么您可能需要手动更新.htaccess文件 .
使用FTP登录您的服务器,并修改 .htaccess 文件,该文件位于/ wp-content /和/ wp-includes /所在文件夹所在的同一位置,只需将代码放在您的 .htaccess 下面 .
希望这能解决问题 .
在WordPress管理界面中,执行以下操作:
转到管理员设置
单击固定链接并在单选按钮中选择发布名称 .
向下滚动,你会在这里看到
.htaccess
代码 ..htaccess
文件 .IF all this dont work, your .htaccess is correct, and permalinks trick didnt work, you may have not enabled your apache2 rewite mod .
我跑了这个,问题解决了:
这个错误是由于在apache httpd.conf文件中禁用了重写mod,只是取消注释并享受seo友好永久链接
如果您拥有对帐户的FTP访问权限:
首先,登录您的wp-admin并转到设置>永久链接
您应该在底部看到一些内容:
“如果您的.htaccess文件是可写的,我们可以自动执行此操作,但并非如此,这些是您在.htaccess文件中应具有的mod_rewrite规则 . 单击该字段并按CTRL a选择全部 . ”
如果是这样,请执行以下操作:
进入FTP客户端的首选项并确保显示隐藏文件(因FTP客户端而异) - 如果不这样做,则不会能够找到你的htaccess文件
转到wp-admin,wp-content,wp-includes目录所在的文件夹 . 检查.htaccess文件 . 如果存在,请跳至步骤4
如果它不存在,请在FTP程序中创建一个名为.htaccess的新空白文件
将.htaccess文件的CHMOD更改为666(您希望如何执行此操作的首选项)
返回永久链接页面并编辑所需的链接结构 . 问题应该解决!
确保在完成后将htaccess文件的chmod更改回644 .
刚遇到同样的问题,它似乎立即解决了!祝好运!
大多数情况下,只需访问WordPress管理员中的 Settings -> Permalink 页面即可解决此问题,然后单击“保存”(已指出其他几个答案) . 访问此页面时,WordPress会重写
.htaccess
文件中的指令,该文件可以神奇地修复问题 . 移动网站后经常会发生此问题(网站因为.htaccess
被遗忘或需要更新设置而中断) .如果WordPress没有正确的权限来写入
.htaccess
文件,则会在页面顶部显示通知,并在保存设置时在底部显示更多说明 . 在这种情况下,您需要自己编辑.htaccess
文件,或者更好地修复该文件的权限 . 该文件位于WordPress安装的根目录下 .cd
进入目录sudo chmod 644 .htaccess
. 您可能还想检查文件是否属于正确的组,并使用chown
进行更改 . 如果您不知道如何操作,请询问您的托管服务提供商 .如果您正在共享托管's probably all you can do. If you still have the issue you might want to talk to you hosting provider'的支持 . 否则,请确保在服务器上启用
.htaccess
文件,正如@georgeos已建议的那样 . 请注意,并非始终使用httpd.conf
(Ubuntu indicates it is deprecated,但the official Apache docs still says it is often the main configuration file) ./etc/httpd/conf/httpd.conf
和/etc/apache2/apache2.conf
似乎是此文件最常见的地方 . 找到公用文件夹的块,通常为<Directory /var/www/>
,并确保AllowOverride
指令设置为All
. 如果设置为None
,则服务器将忽略您的.htaccess
文件 .我们遇到了同样的问题,并通过检查我们的虚拟主机的error.log来解决它 . 我们发现了以下消息:
解决方案是在我们的虚拟主机配置中设置
Options All
和AllowOverride All
.我安装了mod_rewrite来解决问题 . 以下链接提供了安装指南: - http://www.iasptk.com/enable-apache-mod_rewrite-ubuntu-14-04-lts/
我有同样的问题,所以我删除Apache并再次使它,问题解决了 .
您可能在webhost设置中禁止.htaccess . 在这种情况下,设置为默认永久链接将起作用 .
只需导航到仪表板中的 Settings->Permalink ,然后导航到最后一个 Save Changes 按钮 .
案例1: - 如果看到这种问题,让我们考虑是否将站点从一个托管迁移到另一个托管 .
解决方案: - 只需转到旧服务器副本.htaccess文件代码,然后转到新服务器.htaccess文件中 . 99%它我会工作 .
如果您的WordPress安装在子文件夹(例如https://www.example.com/subfolder)中,请在WordPress中更改此行
.htaccess
至
通过这样做,您告诉服务器在WordPress文件夹(例如https://www.example.com/subfolder)而不是公共文件夹(例如https://www.example.com)中查找WordPress
index.php
.我刚刚通过设置>永久链接将所有帖子的固定链接更改为“月和日” .
现在所有帖子都是公开的,工作正常 .
我再次将所有帖子重命名为其实际永久链接 . 它再次正常工作 .
这种方法对我有用:-)
For nginx users
在您的网站的conf文件中使用以下内容(通常为
/etc/nginx/sites-available/example.com
)location / { try_files $uri $uri/ /index.php?q=$uri&$args; }
这将带有URI字符串和提供的参数的所有永久链接请求转发给index.php . 请
systemctl reload nginx
查看更改,您的非主页链接应加载 .在尝试进行任何永久链接或服务器配置更改之前,请检查.htaccess文件 . 这主要是一个损坏或空白的.htaccess文件问题 . 将htaccess文件重置为default
不久前我遇到过这个问题 . 我已经将我的固定链接重置为默认值或者只保存了它,更新了主题/核心到(4.7.4)/ plugins,停用所有插件,切换到默认主题,优化数据库,.htaccess已经默认,检查文件权限,mod_rewrite打开 .
到目前为止没有任何作用,有效的是帖子,新页面,/联系页面除了旧页面 .
基本上,不起作用的页面/ URL是:
终极,我在根文件夹中找到了这些文件:
/breeding.php和/training.php
I renamed both files and the pages above worked.