-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sitemap xml for second site #46
Comments
If you are using cloudscribe multi tenancy by host name then the sitemap url will be hostname/api/sitemap if you want a site map that aggregates multiple sub domains you could create a sitemap index xml file that lists all the different sitemaps. I have no plan to automatically aggregate sitemaps from different tenants. If you are using cloudscribe folder multi-tenancy then the site map url for the root site will be /api/sitemap and the sitemap for folder tenants should be /folder/api/sitemap However, I just tested this and it is not working for folder tenants. So there is a bug there. Looking at the documentation it seems that controllers and actions that use attribute routing cannot be reached by conventional routes (which may not have been true back in 1.x versions of aspnet core) so we can't add an additional route with the site folder constraint using conventional routing. Also since the navigation and sitemap are loosely coupled and have no direct dependency on cloudscribe core, we can't really bake in a route constraint that is specific to cloudscribe core. This "could" be solved by removing the attribute route and making everyone use conventional routes for the sitemap controller, but that would be a breaking change I would rather avoid. The option I can think of to try are make the SiteMapController Index action virtual and try to sub class the controller for use in cloudscribe Core folder tenants. |
Hi Joe. I'm using folder folder multi-tenancy. And I also found the same problem for /api/metaweblog. It also uses attribute routing. And I actually put my blog on second site. Perhaps there is something else as well that uses attribute routing. I actually found this: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/application-model?view=aspnetcore-2.1and it is allow to override routing (I did search by: Using "Application Model" to customize attribute routes). Perhaps it will help |
I got your fix and got a crash: |
I'm still working on the problem. Will let you know when the solution is ready. |
Ok, it took while to solve it but if you update to all the latest cloudscribe nugets and you add these routes in the if(useFolders) section of RoutingAndMvc.cs it should work. I solved also /folder/api/rss and folder/api/metaweblog
I've also updated the project template again to include these routes. Also in the .csproj of your web app you should remove this:
because it is not the new version and it will come in as a transitive dependency from cloudscribe.SimpleContent.Syndication |
Hi Joe. I updated template, recreated project from template and synched changeы. Checked sitemap and metaweblog and everything works great! Thank you again for your help! |
@cheverdyukv many thanks for reporting this bug! I'm glad to have that fixed. I'm sure it was working a while back but maybe it broke during the change from aspnetcore 1.x to 2.x |
Hi
I have main web site
/
and second site/secondsite
. I don't know how to get sitemap data for second site.For main site I can use
/api/sitemap
as site map but it does not contain data for second site.I tried
/secondsite/api/sitemap
but I got page not found.So I think
/api/sitemap
should return data for whole domain or there should be link to get sitemap for second site only. I'm not sure what is correct from your point of view.The text was updated successfully, but these errors were encountered: