1

我有一个博客 (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
#

我需要更新它吗?如果是这样,我该如何更改?如果不是,还有什么可能是错的?

谢谢

4

2 回答 2

3

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

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

您的问题的原因是 '%category%-%postname%' 没有被解析。它只是诸如“类别名称-帖子名称”之类的单词序列,因此 Wordpress 不知道类别在哪里结束,而帖子名称从哪里开始。

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

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

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

于 2013-01-07T21:44:50.857 回答
1

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

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

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

于 2013-01-07T21:37:05.767 回答