错误 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 其他人变成 404 错误