2014-10-28 101 views
1

(流星)所以我在我的项目中工作,我意识到如果你导航到http://localhost:3000/signup在我的应用程序中一切正常,但如果你去http://localhost:3000/signup/我的所有图像都没有找到(网址破坏了),我只是在网址的末尾添加了/,我想知道如何解决这个问题,我不知道这是与iron-router还是与流星有关。我只是用一个非常简单的路线代码:找不到图像,因为`/`它添加在URL的末尾

Router.route('/signup',function(){ 
    users.init(); 
    this.render('signupUser');  
}); 

我想解决这个问题,因为我可以看到人们写在浏览器上输入资产净值的URL,并在URL的末尾添加/。我知道你可以通过重定向来解决它(我不想这样做,因为我必须验证所有其他链接),所以如何解决它?为什么它会发生?

- 编辑 - 我知道我可以通过location.href解决问题我做了类似的事情来解决主页上//的问题。

if(window.location.pathname === "//"){ 
    location.href = "/"; 
} 

我不认为这是解决此问题的好方法。建议接受。

回答

0

我猜你的网址src属性不是以正斜杠开始的吗?这肯定是问题所在。

如果不以斜线开头的路径被认为是相对

+0

其实我的路它通过'http://本地主机:没有斜杠3000/signup'和工作完美,我觉得应该是一种方式,两个路径,有或没有斜线的工作。 – ncubica 2014-10-28 22:46:24

+0

'src =/signup/'应该足够让你的图片在'public'目录下。是的,当然你可以按照你的意思去做,但实际的文件应该在'public/signup'里面提供,应该存在我正在说的。虽然它可能是一个更好的解决方案,但我不知道 – stringparser 2014-10-28 22:50:34

+0

但是,这就是没有Meteor背后的想法,流星在你拥有公用文件夹上的所有东西的时候你应该可以使用它,我不认为增加'signup'在''这是一个好主意之前,完全打破公共文件夹的想法。我有我的图片在公共文件夹顺便说一句。 – ncubica 2014-10-28 22:55:14