【问题标题】:WordPress Permalinks HTAccess Not WorkingWordPress 永久链接 HTAccess 不工作
【发布时间】:2012-12-21 16:16:18
【问题描述】:

我有一个博客 (http://pra.getsquared.me),它确实位于 (http://www.getsquared.me/blogs/praquilone),我曾经拥有自定义永久链接

/%category%/%postname%

但我想把它改成

/%year%-%monthnum%-%day%-%category%-%postname%-%post_id%

旧的有效,新的无效。当我说它不起作用时,首页上的帖子链接显示新表单,但单击它会给我一个找不到页面的错误。

根据我阅读的内容(我可能错了),htaccess 文件可能是问题所在。我只有标准的东西。

#
# BEGIN Wordpress
#
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /blogs/praquilone/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blogs/praquilone/index.php [L]
</IfModule>
#
# END Wordpress
#

我需要更新它吗?如果是这样,我该如何更改?如果不是,还有什么问题?

谢谢

【问题讨论】:

  • 问题不在 .htaccess 文件中。 WP 不处理该文件中的重定向。在其他地方寻找问题的原因。

标签: wordpress .htaccess permalinks


【解决方案1】:

好吧,我假设您通过 WP-ADMIN 将您的 Settings > Permalinks 更改为新需要的永久链接。

有时....我发现将您的永久链接更改为另一种格式,保存它,然后将其更改为您想要的格式,然后保存就可以了。您的.htaccess 文件对我来说看起来很正常。

很抱歉,我无法提供更多帮助。

【讨论】:

  • 谢谢。是的,我将其更改为默认值,然后返回,然后更改为具有帖子名称的那个,然后返回。每次,所有其他人都工作,但不是新格式。现在,我把它改回了原来的习惯,而且效果很好。但不是新的。
  • 无赖。对不起,没有帮助。
【解决方案2】:

htaccess 只是将任何内容重定向到 index.php,它会加载 Wordpress 系统 (wp_load())。 Wordpress 有一个组件,它解析 REQUEST_URI。

首先它尝试将 REQUEST_URI 绑定到它的一个正则表达式中,这使它了解正在请求的资源类型(类别、标签、页面、帖子等),然后它尝试查找它是哪个资源(如果这是一个帖子,找出哪个帖子是蛞蝓)。

问题的原因是 '%category%-%postname%' 没有被解析。它只是一个像“category-name-post-name”这样的单词序列,所以 Wordpress 不知道 category 结束和 postname 开始的位置。

它无法绑定正则表达式,并且失败了。请注意,以前它们被“/”分割,这与“-”不同,但现在它不再起作用了。此外,始终以“/”结束 rewrite_rule。

试试:/%year%-%monthnum%-%day%-%category%-%post_id%-%postname%/ 但是使用它你不能在类别和帖子上拥有数字!

更好的规则:/%year%-%monthnum%-%day%/%category%/%post_id%/%postname%/

【讨论】:

  • 我明白了。链接中的数字似乎与“-”而不是“/”混淆了。现在它正在工作。谢谢!
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
相关资源
最近更新 更多