Wordpress Permalinks没有留下

Wordpress Permalinks没有留下,wordpress,permalinks,Wordpress,Permalinks,在一天中的不同时间点,我的WP permalinks不断出现故障。当我使用自定义烫发时,它可以工作,但在一天中有几次它只是抛出一个找不到的页面。我通过将烫发设置为默认值来修复它,然后返回到自定义,这样效果就很好了 我的系统管理员搞不懂。希望大师能提供一些帮助?我会怀疑某些东西会定期覆盖你的.htaccess文件。设置永久链接选项时,它会更新.htaccess。如果这些设置正在“丢失”,则您的站点上可能运行另一个软件,该软件正在破坏.htaccess文件并删除或覆盖WordPress设置。问题确实

在一天中的不同时间点,我的WP permalinks不断出现故障。当我使用自定义烫发时,它可以工作,但在一天中有几次它只是抛出一个找不到的页面。我通过将烫发设置为默认值来修复它,然后返回到自定义,这样效果就很好了


我的系统管理员搞不懂。希望大师能提供一些帮助?

我会怀疑某些东西会定期覆盖你的.htaccess文件。设置永久链接选项时,它会更新.htaccess。如果这些设置正在“丢失”,则您的站点上可能运行另一个软件,该软件正在破坏.htaccess文件并删除或覆盖WordPress设置。

问题确实很可能是sCategory Permalink插件(提供
/%scategory%/
的404有些常见。请转到站点管理中的选项永久链接页面,然后单击保存更改以重新生成永久链接。确认这一点的方法是用于测试行为。如果一切正常,则是scategory永久链接


如果这不起作用,请发布您的.htaccess,这将帮助我们更好地进行故障排除。

是否更改了.htaccess的创建/修改日期?即使您在.htaccess中没有看到任何可见的更改


永久链接存储在选项id 34的wp_选项表中。请检查它们,然后在更改发生后进行检查。

我必须同意@ahockley的观点,因为我的WordPress博客也有同样的问题。现在发生的情况是,
.htaccess
文件被覆盖,然后当您将其设置为custom并回到默认状态,它会自我纠正一段时间。我必须做的是这样的事情:(这是默认状态)

#开始WordPress
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
#结束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

重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
#开始WordPress
#结束WordPress

一旦我将#BEGIN Wordpress移出块,问题就停止了。希望这能有所帮助

似乎有其他东西正在自动更改您的htaccess文件并覆盖永久链接设置

bvandrunen建议的方法可能有效。如果不行,您可以将永久链接设置设置为所需的设置,然后立即更改htaccess文件的权限,以防止对其进行任何修改。我建议使用
chmod 644

当然,更好的解决方案仍然是找到修改htaccess文件的脚本并将其删除……但是这个修复程序至少可以让永久链接正常工作

  • 删除现有的永久链接结构并将其设置为默认值
  • 删除当前的.htaccess文件
  • 清除站点缓存
  • 编写一个新的.htaccess文件,如@bvandrunen建议的那样
  • 再次创建新的永久链接结构

  • 这应该行得通。

    您可以尝试在您的网站的Nginx配置文件中使用“try\u 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;
    }
    

    您也可以查看详细信息。

    .htaccess未随我的版本一起上载


    在我的构建过程中犯了一个愚蠢的错误

    您可能需要检查服务器限制。当MySQL空间不足时,我们遇到了这个问题。在SSH中,使用

    df -h 
    

    要列出文件并查看是否有任何文件已耗尽空间

    您的自定义永久链接模式是什么?它们是否都停止工作,还是只是某些文件?如果只是某些内容,请举一些例子。@gclaghorn:blog/%scategory%/%postname%/$hugh:只有帖子停止工作-页面工作正常。@HollerTrain:属于%category%的内容不应该在那里,对吗?我在WP文档中找不到任何关于%scategory%标记的提及。@gclaghorn:这是每个客户的自定义标记;(我怀疑这是个问题。但是如果它覆盖了我的htaccess,WP中的permalink设置不会反映perms设置的变化吗?当它不工作时,它仍然会说我的perms设置为Custom。我很确定WP permalink选项存储在WP数据库中……屏幕没有“读取”.htaccess文件。是否有办法删除在htaccess中写入/更改这些值的选项,以便永远无法更改它们?下一步是在.htaccess工作时获取其副本,然后等待情况变糟,然后查看是否有任何更改(修改日期也应更改).如果不同,“坏”的内容版本可能会导致你改变它。休,你很聪明。它仍然在发生,所以我会尝试这个选项,看看有什么变化。唯一的问题是,由于我们获得的流量太大,我不能在这样的实时站点上使用默认永久链接,所以测试任何选项都非常困难。@HollerTrain。这很难。我想如果有对于某些测试来说,流量停机(如凌晨2点)更有意义,但根据您的博客获得的流量,这可能不是一个选项。您使用的是什么版本的sCategory?原因是,大多数404报告都是针对0.3.0以上的版本(当前版本为0.6.2)。您是否尝试过在站点管理中保存更改,以查看是否会重新生成链接并删除404s?@HollerTrain:从其他响应和您的答案中(例如.htaccess未更改),我强烈建议您仔细研究一下sCategory Permalink插件的问题,这是这个插件的一个常见问题。@HollerTrain:当您觉得由于担心受到干扰而不能做任何事情时,您的站点的测试/开发实例已经过期了
    df -h