Wordpress永久链接不会停留

时间:2010-08-17 19:23:08

标签: wordpress permalinks

在当天的各个时间点,我的WP永久链接会不断发生。当我使用自定义烫发时它可以工作,但在白天它会抛出一个Page Not Found。我通过将perms设置为默认值然后返回自定义来修复它,它可以正常工作。

我的系统管理员无法理解。希望大师可以提供一些帮助吗?

8 个答案:

答案 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)

  1. 删除现有的永久链接结构并将其设置为默认值。
  2. 删除当前的.htaccess文件。
  3. 清除您的网站缓存。
  4. 写一个新的.htaccess文件,比如@bvandrunen建议。
  5. 再次创建新的永久链接结构。
  6. 这应该有效。

答案 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 

列出文件并查看是否有空间不足