我正在使用react-router将我的页面导航到auth页面。这是我的代码:
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {Provider} from 'react-redux';
import {createStore, applyMiddleware} from 'redux';
import {Router, Route, IndexRoute, browserHistory} from 'react-router';
import reducers from './reducers';
import App from './components/app';
import Authenticate from './components/auth/index';
import Login from './components/auth/login';
ReactDOM.render(
<Provider store={createStoreWithMiddleware(reducers)}>
<Router history={browserHistory}>
<Route path="authenticate">
<IndexRoute component={Login} />
<Route path="/login" component={Login}/>
</Route>
<Route path="/" component={App}>
<IndexRoute component={Login} />
</Route>
</Router>
</Provider>
, document.querySelector('.container')
);
ReactDOM.render(
<Provider store={createStoreWithMiddleware(reducers)}>
<Router history={browserHistory}>
<Route path="/authenticate" component={Authenticate}>
<IndexRoute component={Login} />
<Route path="login" component={Login}/>
</Route>
<Route path="/" component={App}>
</Route>
</Router>
</Provider>
, document.querySelector('.container')
);
问题是我每次导航到authenticate/login
时总是说No input file specified.
。但如果我导航到/
它可以正常工作
任何解决方案?
答案 0 :(得分:2)
嗨,我遇到了同样的问题,这是解决方案,可以满足。
React-router并没有真正创建真实的页面。 所以在我的情况下,我编译的JS是在我的index.html上加载的,但如果你去/ login,例如它没有加载你的index.php并给出404。
错误“未指定输入文件”。通常是Ubuntu Ngnix错误。
<强>解决方案强>
您可以通过添加以下代码来修改Ngnix配置文件:
try_files $uri $uri/ /index.html$is_args$args;
应该在服务器中添加&gt;地点。这就是我的配置文件:
server {
listen 80;
listen 443 ssl;
server_name yourownurl.com;
root "/home/vagrant/path/to/your/site";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.html$is_args$args;
}
}
希望这可以帮助一些人。