我是 nanoc 的新手,我只是通过博客设置的。
我所有的帖子都在 下/blog/post/Month/Post_name.html
,但每次我访问时/post/
,它都会向我显示 Apache 文件列表视图。
相反,我想/blog/post/*
重定向到/blog/
(其中包含所有博客文章的列表),但是当访问 时/blog/post/Month/Post_name.html
,它应该显示正确。
那么,我该怎么做呢?
这是一个关于 Apache 的问题,而不是关于 nanoc 的问题。
在您的配置文件中,确保Options
不包含Indexes
. 这将关闭目录列表。
对于重定向,您可以使用mod_alias
. 查看redirect的文档。
Arjan van der Gaag为这样的重定向提供了一个非常好的解决方案。根据他nanoc-template
关于该主题的 wiki,您只需向您的 : 添加一些信息config.yaml
:
redirects:
-
from: /foo
to: /bar
-
from: /baz
to: /qux
然后配置您的htaccess
文件以包含以下设置:
<% if @site.config[:redirects] %>
# Set up URL redirects<% @site.config[:redirects].each do |h| %>
Redirect 301 <%= h[:from] %> <%= h[:to] %>
<% end %><% end %>
(授予https://github.com/avdgaag/nanoc-template/blob/master/content/htaccess.txt)
结果将如下所示:
Redirect 301 /foo /bar
Redirect 301 /baz /quz
但是,在这种情况下, A 301
(“永久移动”)将过于苛刻: 您需要 303 重定向(“查看其他”)。