如何在nanoc中重定向

时间:2012-12-04 23:37:18

标签: apache nanoc

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

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

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

那么,我该怎么办?

2 个答案:

答案 0 :(得分:3)

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

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

对于重定向,您可以使用mod_alias。看看documentation for redirect

答案 1 :(得分:3)

Arjan van der Gaag 对于像这样的重定向有一个非常好的解决方案。根据{{​​3}},您只需要向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 %>

(Confer his nanoc-template wiki on that topic

结果如下:

Redirect 301 /foo /bar
Redirect 301 /baz /quz

在这种情况下,301(“永久移动”)会非常严厉:你需要303重定向(“见其他”)。