前提
Nuxt+Netlify+microCMSを使ったサイトを立ち上げました。
時々ですが、microCMSで掻いた記事を見ようとすると「404 Not Found」になります。
Nuxtの構成は
'/' はindex.vue
microCMSで掻いた記事の一覧ページが '/blog' で、blog.vue
で作っています。
メニューで記事一覧ページを選ぶとURLは次の通りです。
https://smalltrip.netlify.app/blog
これは正常で、記事の中から1つを選ぶとURLは(例えば)
https://smalltrip.netlify.app/article/xq1c_77vg
となり正常に記事を閲覧できます。
異常時(どんな時な発生するかつかめません)のURLは
https://smalltrip.netlify.app/blog/
で、URLの最後に '/' が付くのです。
試しに、正常時の記事一覧ページのURLに手動で '/' を付けてENTERを押します。
記事一覧ページは変化しません。そこで同様に1つを選ぶとURLは
https://smalltrip.netlify.app/blog/article/xq1c_77vg
となり、「404 Not Found」になります。
実現したいこと
次の3つのどれでもよいので教えてください。
1.なぜこのようなことが発生するのか、発生しない方法があるのか。
2.記事一覧を選んだ時にURLの最後が
/blog/
になった時、強制的に(プログラム的に)
/blog
にする方法を教えてください。
3.console.logを使って、使う場所とみるべき変数を教えてください。
よろしくお願いいたします。
発生している問題・エラーメッセージ
エラーメッセージ:「404 Not Found」
該当のソースコード
Nuxtのblogの一部
1 <table> 2 <tbody> 3 <tr v-for="(item,key) in items" :key="key"> 4 <td>{{ new Date(item.publishedAt).toLocaleDateString() }}</td> 5 <td> 6 <nuxt-link :to="'article/' + item.id" style="text-decoration: none;"> 7 {{ item.title }} 8 </nuxt-link> 9 </td> 10 <td>{{ item.nickname }}</td> 11 </tr> 12 </tbody> 13 </table>
試したこと
Nuxtのblogの一部
1// もし、パスの最後が '/blog' でなかったら '/blog' に書き換える 2 mounted() { 3 if (!this.$route.fullPath.endsWith('/blog')) { 4 this.$router.push('/blog') 5 } 6 }
この方法はうまくいきません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。