React RouterのBrowserRouterを使っている場合、ブラウザバックしたり下層ページのURLを直打ちしてアクセスすると404が返ってくる。
これはリクエストしているリソースへのアクセスをサーバが拒否しているからだが、ワイルドカードでルーティングをしてやれば解決する。
例えばRuby on Railsなら以下のようにルーティングを書いておく。
config/routes.rb
Rails.application.routes.draw do
match '*path', to: 'react#index', via: :get
end
app/controllers/react_controller.rb
class ReactController < ApplicationController
def index
end
end
このとき app/views/react/index.erb
等のviewファイルは必要ない。