React-router和nginx
发布时间:2020-12-15 20:55:47 所属栏目:百科 来源:网络整理
导读:我正在将我的反应应用程序从webpack-dev-server转换为nginx。 当我转到根网址“localhost:8080 / login”时,我只得到一个404,在我的nginx日志中,我看到它正试图获取: my-nginx-container | 2017/05/12 21:07:01 [error] 6#6: *11 open() "/wwwroot/logi
我正在将我的反应应用程序从webpack-dev-server转换为nginx。
当我转到根网址“localhost:8080 / login”时,我只得到一个404,在我的nginx日志中,我看到它正试图获取: my-nginx-container | 2017/05/12 21:07:01 [error] 6#6: *11 open() "/wwwroot/login" failed (2: No such file or directory),client: 172.20.0.1,server:,request: "GET /login HTTP/1.1",host: "localhost:8080" my-nginx-container | 172.20.0.1 - - [12/May/2017:21:07:01 +0000] "GET /login HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0" "-" 我应该在哪里寻找解决方案? 我的路由器位反应看起来像这样: render( <Provider store={store}> <MuiThemeProvider> <BrowserRouter history={history}> <div> Hello there p <Route path="/login" component={Login} /> <App> <Route path="/albums" component={Albums}/> <Photos> <Route path="/photos" component={SearchPhotos}/> </Photos> <div></div> <Catalogs> <Route path="/catalogs/list" component={CatalogList}/> <Route path="/catalogs/new" component={NewCatalog}/> <Route path="/catalogs/:id/photos/" component={CatalogPhotos}/> <Route path="/catalogs/:id/photos/:photoId/card" component={PhotoCard}/> </Catalogs> </App> </div> </BrowserRouter> </MuiThemeProvider> </Provider>,app); 我的nginx文件是这样的: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; server { listen 8080; root /wwwroot; location / { root /wwwroot; index index.html; try_files $uri $uri/ /wwwroot/index.html; } } } 编辑: 我知道大多数设置都有效,因为当我在没有登录的情况下访问localhost:8080时,我也会获得登录页面。这不是通过重定向到localhost:8080 / login – 它是一些反应代码。
nginx配置中的位置块应为:
location / { try_files $uri /index.html; } 问题是对index.html文件的请求有效,但您目前还没有告诉nginx将其他请求转发到index.html文件。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读