2017-10-13 110 views
0

我按照所有文檔指南,所以我在我的config.rb如何使用Middleman定製404頁面?

page '/404.html', directory_index: false 

還有以下行,我有一個source/404.html.erb頁面。我不確定我在做什麼錯,我只能看到默認生成的File not found錯誤頁面。 謝謝

回答

0

請確保您已將page "404.html", :directory_index => false的實例放入您的開發塊中,以使其在本地生效。

configure :development do 
    activate :directory_indexes 
    page "404.html", :directory_index => false 

    ...other dev environment stuff... 

end 

這將允許你看到/404.html本地呈現,而/ 404會給你一個「文件未找到」。如果你沒有在開發環境配置中明確定義它,它只有在部署到s3等時纔會生效。

+0

Thanks @Adam我已經嘗試過,但仍然無法正常工作 –

0

我設法解決這個問題,我所做的就是:

在我Config.rb

  • 我離開了這個在全球層面** page '/404.html'**, layout: 'error'
  • 刪除此activate :relative_assets
  • productionstaging塊我修改了錯誤文檔到s3_sync.error_document = '404/index.html',這就是爲什麼我失去我的資產,一旦網站已經部署404.html不存在了,我是指向錯誤的error_document

原因我創建了一個單獨的佈局叫做error的建議上這個線程爲我的404頁面。

我使用

  • '中間人', '〜> 4.1', '> = 4.1.10'
  • '中間人-s3_sync', '〜> 4.0',「> = 4.0。 2'
  • 「的WebPack」: 「〜3.5.5」

希望這有助於有人在同樣的問題別人。

如果要查看整個線程,請選中此Middleman blog