1

我是 nanoc 的新手,我只是通过博客设置的。

我所有的帖子都在 下/blog/post/Month/Post_name.html,但每次我访问时/post/,它都会向我显示 Apache 文件列表视图。

相反,我想/blog/post/*重定向到/blog/(其中包含所有博客文章的列表),但是当访问 时/blog/post/Month/Post_name.html,它应该显示正确。

那么,我该怎么做呢?

4

2 回答 2

3

这是一个关于 Apache 的问题,而不是关于 nanoc 的问题。

在您的配置文件中,确保Options不包含Indexes. 这将关闭目录列表。

对于重定向,您可以使用mod_alias. 查看redirect的文档。

于 2012-12-05T06:32:30.223 回答
3

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 重定向(“查看其他”)。

于 2013-02-23T22:05:02.137 回答