Hi Joe. I think you can resolve it by a pattern-based system routes.py configuration.
Personally I use a simple parameter-based system routes.py configuration and I think it's difficult with it to obtain an URL like http://www.mydomain.com/sitemap.txt . So I put sitemaps.txt in a static folder static/sitemaps/sitemap.txt and in Google webmaster (search console) I link the sitemap like that: http://www.mydomain.com/static/sitemaps/sitemap.txt . If you find a solution for having http://www.mydomain.com/sitemap.txt please share! Il giorno lunedì 14 dicembre 2015 00:28:45 UTC+1, Joe ha scritto: > > Hi Gael, > > That's great! Thanks very much. > > I wonder how I can then create a URL like > http://www.mydomain.com/sitemap.txt instead of > http://www.mydomain.com/init/default/sitemap.txt > > > On Tuesday, October 20, 2015 at 5:30:03 PM UTC+8, Gael Princivalle wrote: >> >> Hello Joe. >> >> I use the Scheduler for that, for making every day a new updated sitemap. >> I use txt sitemaps because I've saw that if an XML sitemap is too long >> Google don't take care of it. In txt yes. >> >> Here is an example: >> >> def sitemap_txt_auto(): >> import os >> from gluon.myregex import regex_expose >> # Statics URLs >> exclusions = ['download', 'call', 'data', 'upload', 'browse', >> 'delete'] >> ctldir = os.path.join(request.folder,"controllers") >> ctls=os.listdir(ctldir) >> if 'appadmin.py' in ctls: ctls.remove('appadmin.py') >> if 'manage.py' in ctls: ctls.remove('manage.py') >> if 'default.py.1' in ctls: ctls.remove('default.py.1') >> sitemap='http://www.yourdomain.com' >> for ctl in ctls: >> if ctl.endswith(".bak") == False: >> filename = os.path.join(ctldir,ctl) >> data = open(filename, 'r').read() >> functions = regex_expose.findall(data) >> for f in functions: >> if not any(f in s for s in exclusions): # if function is >> not in exclustions >> sitemap += '\r\n' >> sitemap += 'http://www.yourdomain.com/%s' % (f) >> # Dynamic URLs >> # News >> news = db(db.news.on_line == True).select(db.news.ALL) >> for item in news: >> sitemap += '\r\n' >> sitemap += 'http://www.yourdomain.com/news?id=%s' % (str(item.id >> )) >> # And other dynamic urls >> file = open('%s/static/sitemaps/sitemap.txt' %request.folder, 'w') >> file.write(sitemap) >> file.close() >> #FOr being sure that the sitemap have been made. >> email_sent = mail.send( >> to = 'y...@mail.com', >> subject = 'Sitemap youdomain', >> message = 'The sitemap have been generated with >> success.') >> db.commit() >> >> from gluon.scheduler import Scheduler >> Scheduler(db,dict(sitemap_txt_auto=sitemap_txt_auto)) >> >> Il giorno sabato 10 ottobre 2015 03:55:13 UTC+2, Joe ha scritto: >>> >>> What is the best way to implement a sitemap for a Web2py site? Is there >>> a Web2py code to generate the sitemap or I should use a third party sitemap >>> generator? If so, should I place the XML file in the static folder? >>> I'd appreciate some advise on this. >>> Thanks very much. >>> Cheers, >>> Joe >>> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.