错误 404 帖子名称永久链接 wordpress

Posted

技术标签:

【中文标题】错误 404 帖子名称永久链接 wordpress【英文标题】:Error 404 post name permalink wordpress 【发布时间】:2018-04-23 19:39:37 【问题描述】:

我刚刚将我的 WordPress 站点从 Windows 迁移到 Linux 服务器。除了永久链接设置为 /%postname%/ 的帖子外,一切似乎都正常工作。我以为这是mod_overwrite 问题。

我已将 httpconf 文件从 AllowOverride None 更改为 AllowOverride All

然后重置服务器只是为了确保它生效。

我的 .htaccess 看起来像这样:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
# END WordPress

我在专用服务器上的 CentOS5 上运行 Apache 2.2。

补充一点:除了带有这些自定义永久链接的帖子之外,所有页面都可以正常工作。

我已将 .htaccess 的权限设置为 666

【问题讨论】:

【参考方案1】:

同样的事情也发生在我身上。原来.htaccess 对我来说不是问题。问题出在服务器配置文件中。

对于 AWS EC2 服务器:

第一步:编辑配置文件

sudo nano /etc/httpd/conf/httpd.conf

编辑此文件并更改

<Directory /var/www/html/wordpress/>
    AllowOverride None
 </Directory>

<Directory /var/www/html/wordpress/>
    AllowOverride All
 </Directory>

请注意,/var/www/html/wordpress/ 是托管 WordPress 项目的根文件夹的路径。

第 2 步:重启服务器

更改.conf 文件后,请不要忘记重新启动服务器。

sudo service httpd restart

对于 Ubuntu 服务器:

第一步:编辑配置文件

sudo gedit /etc/apache2/apache2.conf

编辑此文件并更改

<Directory /var/www/html/wordpress/>
    AllowOverride None
 </Directory>

<Directory /var/www/html/wordpress/>
    AllowOverride All
 </Directory>

请注意,/var/www/html/wordpress/ 是托管 WordPress 项目的根文件夹的路径。

第 2 步:重启服务器

更改.conf 文件后,请不要忘记重新启动服务器。

sudo service apache2 restart

【讨论】:

非常感谢 Amazon Linux 配置。它就像一个魅力。 :-)【参考方案2】:

保留 AllowOverride none。

删除 .htaccess 文件和那套凌乱的重写规则的任何痕迹,然后将其添加到虚拟主机中:

FallbackResource /index.php

mod_rewrite 和 .htaccess 都不需要。

通过添加每个目录的配置,您基本上会使您的生活复杂化。一切都会变得更加困难,为什么?通过更改文件进行动态更改? .htaccess 适用于需要修改目录配置的非管理员用户。

由于您是管理员,请在 Virtualhost 中配置所有可能的内容。

授予每个人对文件的 rw 权限也绝对不是要走的路。 httpd 不需要任何东西的写权限。

【讨论】:

以上是关于错误 404 帖子名称永久链接 wordpress的主要内容,如果未能解决你的问题,请参考以下文章

将类别添加到永久链接时,WordPress CPT 会导致 404

Wordpress“帖子名称”永久链接不起作用

只有默认的永久链接工作 wordpress 其他人变成 404 错误

wordpress apache永久链接不起作用(404错误)

只有默认永久链接工作wordpress其他成为404错误

WordPress 永久链接仅适用于帖子