web-dev-qa-db-ja.com

FirebaseホスティングでReactを使用してSPAでrobots.txtを提供するにはどうすればよいですか?

create-react-appを使用してSPAを構築し、robots.txtを次のように作成したいと考えています。

http://example.com/robots.txt

私は このページ を参照してください:

ディレクトリからサービスを提供するように構成された後、サーバーがURLをキャッチするように構成されていることを確認する必要があります。

しかし、Firebaseホスティングの場合、どうすればよいかわかりません。

10
WilliamKF

firebase.jsonの「rewrites」セクションに次のルールを追加するだけです

"rewrites": [
      {
        "source": "/robots.txt",
        "destination": "/robots.txt"
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
]
1
Lukas Kirner

私の/publicディレクトリ、robots.txt

私の/srcディレクトリ、私は次のことを行いました:

わたしは作った /src/index.js

import React from 'react'
import ReactDOM from 'react-dom'
import {TopApp} from './TopApp'
import registerServiceWorker from './registerServiceWorker'

import {BrowserRouter} from 'react-router-dom'

ReactDOM.render(
  <BrowserRouter>
    <TopApp/>
  </BrowserRouter>,
  document.getElementById('react-render-root')
)

registerServiceWorker()

わたしは作った /src/TopApp.js

import React from 'react'

import {
  Switch,
  Route
} from 'react-router-dom'

import {ComingSoon} from './ComingSoon'
import {App} from './App'

export class TopApp extends React.Component {
  render() {
    return (
      <div className="TopApp">
        <Switch>
          <Route path='/MyStuff' component={App}/>
          <Route exact path='/' component={ComingSoon}/>
        </Switch>
      </div>
    )
  }
}

パス/robots.txtは提供されたルーターパスの対象ではありません。私のパブリックディレクトリから取得され、ロボットファイルは必要に応じて公開されました。

同じことをsitemap.xml

6
WilliamKF