在当天的各个时间点,我的WP永久链接会不断发生。当我使用自定义烫发时它可以工作,但在白天它会抛出一个Page Not Found。我通过将perms设置为默认值然后返回自定义来修复它,它可以正常工作。
我的系统管理员无法理解。希望大师可以提供一些帮助吗?
答案 0 :(得分:5)
问题确实最有可能是 sCategory Permalink 插件(给你/%scategory%/
的插件.404s有些常见。转到选项 网站管理员中的永久链接页面,然后点击保存更改以重新生成永久链接。他们确认这是使用WP-default permalinks进行测试行为。如果一切正常,那就是 sCategory Permalink 。
如果这不起作用,请发布.htaccess,这将有助于我们更好地排查问题。
答案 1 :(得分:1)
我会怀疑定期覆盖.htaccess文件的内容。设置永久链接选项时,它会更新.htaccess。如果这些设置“丢失”,则可能是您的网站上运行的另一个软件正在查找.htaccess文件并删除或覆盖WordPress设置。
答案 2 :(得分:1)
似乎其他东西会自动更改您的htaccess文件并覆盖永久链接设置。
bvandrunen提出的建议可行。如果没有,您可以将永久链接设置设置为您想要的,然后立即更改htaccess文件的权限以防止任何修改它。我建议使用chmod 644
。
自然,一个更好的解决方案仍然是找到修改你的htaccess文件的脚本并摆脱它...但是这个修复至少应该让你的固定链接正常工作!
答案 3 :(得分:0)
.htaccess的创建/修改日期是否改变?即使你看到.htaccess没有明显的变化吗?
Permlink存储在option_id 34的wp_options表中。检查它们,然后在更改后进行检查。
答案 4 :(得分:0)
我必须同意@ahockley,因为我的WordPress博客存在同样的问题。发生的事情是.htaccess
文件被覆盖,然后当您将其设置为自定义然后返回默认值时,它会纠正自己一段时间。我必须做的是这样的事情:(这是默认的)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
更改为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# BEGIN WordPress
# END WordPress
一旦我将#BEGIN Wordpress从块中移出,问题就停止了。希望这有帮助
答案 5 :(得分:0)
这应该有效。
答案 6 :(得分:0)
您可以尝试在您网站的Nginx配置文件中使用'try_files'指令:
a)打开'/ etc / nginx / sites-enabled / yoursite.conf'或'/ etc / nginx / conf.d / default.conf'中的配置文件
b)然后在 位置/ 块下添加以下行:
try_files $uri $uri/ /index.php?$args;
c)看起来应该是这样的:
location / {
root /var/www/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
您也可以查看WordPress custom permalinks and Nginx了解详细信息。
答案 7 :(得分:0)
您可能需要检查服务器限制。当 MySQL 空间不足时,我们遇到了这个问题。在 SSH 中,使用
df -h
列出文件并查看是否有空间不足