Open SamueleDecarli opened 8 years ago
@SamueleDecarliUSI with Vassilis, we analysed the problem and found that this is a know issue of Page.JS, as reported on the following link: https://github.com/visionmedia/page.js/issues/231
A workaround to the problem is to get rid of the hashbang and use a plain / for handling the routing:
File routing.html: replace L98-L101 with:
//force initial rendering
page.show(window.location.pathname)
File app.js, replace L37 with:
var routers = require('./routes/routers');
app.use('*', function(req,res, next){
console.log()
if(req.accepts('html')){
var options = {
root: __dirname + '/public/',
};
return res.sendFile('index.html', options);
}
next();
})
Your solution doesn't work.
GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/web-app.html 304 0.736 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/paper-styles/demo.css 304 0.579 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/nprogress/nprogress.js 304 0.379 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/nprogress/nprogress.css 304 1.406 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/js/loading.js 304 0.630 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/webcomponentsjs/webcomponents-lite.min.js 304 0.423 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/styles/style.css 304 1.026 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/web-app.html 304 0.659 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/paper-styles/demo.css 304 0.582 ms - - GET /speakers/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/elements/wa/components/nprogress/nprogress.js 304 1.473 ms - -
That's the result (server side). @SamueleDecarliUSI
I suspect that this is because the html imports are classed as requests that accept html, therefore they get redirected to "index.html", which again tries to import html files, etc.
@SamueleDecarliUSI @Giggiux we tried this on Atelier Beats and it was working. So, can you please issue a branch with this change and ping me? I will try to debug the problem you reported.
@VincenzoFerme as we have shown you, it does not seem to work. We have resorted to use the two versions of each route, cleaned up a bit and with proper documentation to explain the workaround.
@SamueleDecarliUSI thank you. Leave the issue open, please.
The redirect of page.js has problems. When inside the website urls with a slash after #! get redirected to home (they are regarded as invalid), while urls without the slash are accepted. The opposite is true when outside of the website.