我不确定这是否“正常”,但在我的WP安装中,“category”的实际目录抛出404错误。
因此,例如,如果我有一个名为“apples”的类别,那么与“apples”类别关联的每个帖子或页面都有以下URL字符串:
my-site.com/category/apples/
以上内容对我来说很好。
然而,如果我从URL中删除“apples”,那么会生成一个404错误,我确信这是正确的,或者应该有一个索引页或其他?
我之所以问这个问题,是因为我创建了一些称为“美国各州”的自定义分类法,其工作原理如下:
my-site.com/us-states/florida < loads great with archive
my-site.com/us-states/ < Error 404
是否有任何方法可以使实际分类法的主页成为模板页面或其他页面?
谢谢
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
是的,这是正常的行为。WordPress使用一组重写规则来处理请求。以下是将匹配与类别相关的请求的规则:
[category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?category_name=$matches[1]&feed=$matches[2]
[category/(.+?)/(feed|rdf|rss|rss2|atom)/?$] => index.php?category_name=$matches[1]&feed=$matches[2]
[category/(.+?)/page/?([0-9]{1,})/?$] => index.php?category_name=$matches[1]&paged=$matches[2]
[category/(.+?)/?$] => index.php?category_name=$matches[1]
如您所见,所有这些请求都要求
/category/
.
这是有道理的。
category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/
- 将匹配类别的提要[category/(.+?)/(feed|rdf|rss|rss2|atom)/
- 是源的较短URLcategory/(.+?)/page/?([0-9]{1,})/
- 支持分页category/(.+?)/
- 只是类别列表(第一页)
,所以上面的所有URL都与此分类法中的给定术语相关,并且您知道哪个术语,因为它是在URL中定义的。
另一方面,当您转到/category/
? 未定义任何术语,因此无法选择其中任何一个。那么它应该显示你网站上的所有帖子吗?(博客索引已经做到了这一点)。
有时在这样的URL上显示类别列表是有意义的,但这不是一种常见做法。
您始终可以添加自定义重写规则来处理此类请求。