J'ai un SPA construit en utilisant create-react-app
et souhaite avoir un fichier robots.txt comme celui-ci:
http://example.com/robots.txt
Je vois sur cette page que:
Vous devez vous assurer que votre serveur est configuré pour intercepter n'importe quelle URL après avoir été configuré pour servir à partir d'un répertoire.
Mais pour l'hébergement Firebase, je ne sais pas quoi faire.
Dans mon /public
répertoire, j'ai créé un robots.txt
.
Dans mon /src
répertoire, j'ai fait ce qui suit:
J'ai créé /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()
J'ai créé /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>
)
}
}
Parce que le chemin /robots.txt
n'est pas couvert par les chemins de routeur fournis, il l'a pris dans mon répertoire public et le fichier robots a été publié comme souhaité.
La même chose pourrait être faite pour sitemap.xml
.