解决Hugo的错误链接localhost
2017-06-23 18:12:07 +08 字数:608 标签: Hugo问题 ¶
在使用hugo server
这种方式建立网站,可能会出现错误的绝对URL。
生成静态网站不当,也可能有相同问题。
这时,只有首页能访问,并且样式消失,所有链接失效。
错误示例 ¶
<ul class="sidebar-nav">
<li><a href="http://localhost:1313/">封面</a> </li>
<li><a href="http://localhost:1313/about/"> 缘 </a></li>
</ul>
用relativeurls解决 ¶
利用hugo config | grep -i url
,可以找到一个叫relativeurls
的参数,默认为false
。
canonifyurls = false
relativeurls = false
uglyurls = false
在config.toml
中,打开这个参数,可以使用相对URL。
relativeurls = true
效果如下:
<ul class="sidebar-nav">
<li><a href="./">封面</a> </li>
<li><a href="./about/"> 缘 </a></li>
</ul>
然而,这还是解决不了很多直接设为绝对URL的问题。
用baseURL解决 ¶
在config.toml
中,添加baseURL
字段,可以解决静态生成的问题。
但是,却不能解决动态服务hugo server
的问题。
在hugo server
时,添加参数--baseURL
,可以把绝对URL设为预期值。
这也许是一个bug,但更有可能是设计如此。
因为,hugo server
通常是用来调试的。
Hugo provides its own webserver which builds and serves the site. While hugo server is high performance, it is a webserver with limited options. Many run it in production, but the standard behavior is for people to use it in development and use a more full featured server such as Nginx or Caddy.
‘hugo server’ will avoid writing the rendered and served content to disk, preferring to store it in memory.
孤用Nginx来反向代理hugo server
的1313端口,也许一开始就是一个错误。