Tôi đang sử dụng bộ định tuyến phản ứng làm gốc và tất cả các yêu cầu trong "/" được chuyển hướng đến bộ định tuyến phản ứng. Và khi bộ định tuyến phản ứng thấy rằng url không khớp với bất kỳ thành phần nào được xác định, nó sẽ hiển thị thành phần NoMatch. Và đây là vấn đề, NoMatch được trả lại và đó là những gì tôi muốn, nhưng mã trạng thái vẫn là 200 thay vì 404. Và khi các tệp css hoặc js của tôi được đặt với bộ định tuyến phản hồi url sai thì cũng giống như vậy, nó phản hồi bằng 200 ! Và sau đó trang cho tôi biết rằng có một số vấn đề với loại nội dung tài nguyên của tôi!Làm cách nào để phản hồi bộ định tuyến phản hồi với mã trạng thái 404?
Vì vậy, làm cách nào tôi có thể sử dụng bộ định tuyến phản ứng để xử lý mọi thứ trong "/" mà vẫn xử lý lỗi 404 (để trả lời mã trạng thái 404)?
mã trong phản ứng Router
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="archived" component={App}>
<IndexRoute component={ArchivedPage}/>
<Route path="project/:projectId" component={ArchivedDetailPage}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('app'));
các servre bên
router.use('/', function(req, res, next) {
res.render('index-react', {
title: 'some title'
});
});
Bạn đã nghĩ ra điều gì? Chia sẻ một số mã –
mã được phục vụ ngay bây giờ – Liang
Tôi thêm rằng prop, nhưng phản ứng router đã không xử lý này, nó sẽ không phát ra lỗi trạng thái 404. Có thể phát ra lỗi trạng thái 404 qua javascript không? – Liang