我正在尝试在我的网站根目录中提供robots.txt和sitemap.xml,例如www.fakedomain.com/robots.txt.我在下面描述的设置似乎适用于localhost,但不适用于托管生产.托管生产返回空白页面.
使用firebase托管,create-react-app和react-router进行url处理
当前设置模仿: 如何使用React with Firebase托管在SPA上提供robots.txt?
文件夹结构:
public/robots.txt
public/sitemap.xml
TopApp.js
import React, { Component } from 'react';
import {
Switch,
Route,
Redirect,
} from 'react-router-dom';
import App from './App';
class TopApp extends Component {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return (
<Switch>
<Route exact path="/" render={() => (<Redirect to={"/app"}/>)}/>
<Route path={"/app"} component={() => <App />} />
</Switch>
)
}
}
export default (TopApp);
Run Code Online (Sandbox Code Playgroud)
/src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter, …Run Code Online (Sandbox Code Playgroud) firebase reactjs firebase-hosting react-router create-react-app
如何将我的 robots.txt 文件放到路径 www.domain.com/robots.txt?没有使用服务器,它唯一的前端带有反应路由器。
robots.txt --> 在根文件夹中。/
app.js --> 在 src 文件夹中 ./src/
(...)
export class App extends React.Component {
render() {
return (
<div>
<Switch>
<Route exact path='/stuff' component={Stuff}/>
<Route exact path='/' component={HomePage}/>
</Switch>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在本地测试它,它工作正常,localhost:4000/robots.txt 在浏览器中正确打开文件。但是在生产环境中恐怕不是这样?有任何想法吗?先感谢您