小编Lia*_*ang的帖子

如何让路由器响应404状态代码?

我正在使用反应路由器作为root,并且"/"下的所有请求都被定向到路由器.当react路由器发现url与任何已定义的组件不匹配时,它会使用NoMatch组件进行渲染.这就解决了问题,NoMatch是渲染的,这就是我想要的,但状态代码仍然是200而不是404.当我的css或js文件放置错误的url react路由器做同样的事情时,它会响应200 !然后该页面告诉我,我的资源内容类型存在一些问题!

那么,我如何使用react路由器来处理"/"中的所有内容并仍然可以正确处理404错误(以404状态代码响应)?

反应路由器中的代码

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'));
Run Code Online (Sandbox Code Playgroud)

服务方面

  router.use('/', function(req, res, next) {
    res.render('index-react', {
      title: 'some title'
    });
  });
Run Code Online (Sandbox Code Playgroud)

javascript frontend http-status-code-404 reactjs react-router

22
推荐指数
4
解决办法
2万
查看次数

为什么我在PyCharm中的zsh没有正确的$ PATH?

我最近在学习python.我使用PyCharm作为我在MacBook中运行的编辑器.问题是当我在PyCharm终端输入类似scrapy -V的内容时,它告诉我"zsh:command not found:scrapy",但是当我在PyCharm外面启动终端时,它可以正常工作.

所以我想知道路径var是否正确.然后我在PyCharm终端尝试echo $ PATH,它返回:

/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

并且PyCharm外面的终端返回:

/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands
Run Code Online (Sandbox Code Playgroud)

我将shell路径设置为: /bin/zsh

顺便说一句,我也是IDEA,但是那里的一切都很好,而且shell路径与PyCharm中的相同.

那么,是什么导致我的PyCharm终端(zsh)中的路径变量出错?

python macos terminal zsh pycharm

11
推荐指数
3
解决办法
4745
查看次数

jekyll如何判断它是页面还是帖子?

我想使用if句子向body标签添加一个类,如果页面是一个帖子,那么如果页面是帖子则将页面添加到类中,然后向其添加帖子.我不知道具体如何做到这一点,任何人都可以帮我搞清楚吗?

html if-statement liquid jekyll

9
推荐指数
1
解决办法
1255
查看次数