Re: [Cppcms-users] CppCMS-Embedded web root
Brought to you by:
artyom-beilis
From: Rodrigo E. <rod...@gm...> - 2016-02-16 13:03:53
|
Hi Artyom, Thanks again, this solution works much better and more straightforward . 2016-02-16 10:29 GMT-02:00 Artyom Beilis <art...@gm...>: > Wouldn't instead of > > { "regex" : "/()" , "pattern" : "/mb.fcgi/index" }, > dispatcher().assign("/index",&site::index,this); > > The following would work out of the box > > dispatcher().assign("/",&site::index,this); > > i.e. without this specific pattern. > > On Mon, Feb 15, 2016 at 7:19 PM, Rodrigo Emygdio > <rod...@gm...> wrote: > > Hi Everyone, > > > > First of all, I would like to thanks the fast feedback of Stanimir and > good > > explanation that Artyom Beilis did. I am glad to say that this thread was > > resolved. > > With base on the Artyom's explanation I understood how the routing of > urls > > works. > > I resolved my problem in this way: > > First, I created index route that is the main page: > > > > dispatcher().assign("/index",&site::index,this); > > mapper().assign("index","/index"); > > > > And all the other url I created in the same form: > > > > dispatcher().assign("/contact-form",&site::contact_form,this); > > mapper().assign("contact_form","/contact-form"); > > > > dispatcher().assign("/do-something,&site::something,this); > > mapper().assign("something","/do-something"); > > > > > > To accomplish my objective, I used two regex for the rewrite url rules, > like > > that: > > > > { "regex" : "/()" , "pattern" : "/mb.fcgi/index" }, > > { "regex" : ".*" , "pattern" : "/mb.fcgi$0" } > > > > The first one, does the route for url with "/" and empty urls > > (http://domain.com/ and http://domain.com). And the second executes the > rest > > of the urls (http://domain.com/contact-form and > > http://domain.com/do-something). > > > > I hope this thread may help another person with the same doubt > > > > Best Regard > > > > 2016-02-12 15:14 GMT-02:00 Rodrigo Emygdio <rod...@gm...>: > >> > >> Hi Everyone, > >> > >> I decided to give up CppCMS-Embedded and fight with the lighttpd. I > >> configured the lighttpd to execute the application in the "root" of the > web > >> service with the following configuration: > >> > >> server.port = 8080 > >> server.bind = "127.0.0.1" > >> > >> fastcgi.server = ( "/" => ( "localhost" => ( > >> "bin-path" => > >> > "/home/emygdio/Documents/Estudo/Progamacao/C++/CppCms/RootWebServer/hello -c > >> > /home/emygdio/Documents/Estudo/Progamacao/C++/CppCms/RootWebServer/etc/config-lighthttpd-2.js", > >> "socket" => "/tmp/hello-fcgi-socket", > >> "fix-root-scriptname" => "enable", > >> "check-local" => "disable", > >> ))) > >> > >> The pretty urls work very well, like http://domain.com/some-pretty-url. > >> But the empty router like this http://domain.com/, still doesn't work. > >> > >> Any assist will be very welcome > >> > >> Thanks > >> > >> > >> 2016-02-12 2:14 GMT-02:00 Rodrigo Emygdio <rod...@gm...>: > >>> > >>> I think that I need to explain better what I would like expect from the > >>> CppCms. I have a little application that I wrote in Java and have > specific > >>> urls indexed by google: > >>> http://domain.com/ --> reflects the main page > >>> http://domain.com/[others-pretty-url] --> reflects each functions > of > >>> the application. > >>> The application urls were indexed by google, and I don't want to lose > >>> these urls. I need to rewrite this application in C++ and I decided to > use > >>> CppCms. Then I expect to use the same URLs as were indexed by Google. > The > >>> main page need to responds the root url (http://domain.com/) and the > other > >>> urls need respond like pretty urls (http://domain.com/some-pretty-url > ). > >>> > >>> I did as Artyom tells me to do. Changing the rewrite rules as below: > >>> > >>> change: > >>> > >>> { "regex" : ".*" , "pattern" : "/mb.fcgi$0" } > >>> > >>> for this: > >>> > >>> { "regex" : "/(.*)" , "pattern" : "/mb.fcgi$1"} > >>> > >>> Immediately resolved the problem with the root url, but the rest of > urls > >>> stop to work because the server takes the part after the "/" and > >>> concatenates with the /mb.fcgi. Unhappily there isn't any url with no > "/" > >>> before them. > >>> I tried overcome that changing the dispatcher configuration of the > url, > >>> like that: > >>> > >>> I changed this: > >>> dispatcher().assign("/contact-form",&my_app::contact_form,this); > >>> mapper().assign("contact_form","/contact-form"); > >>> > >>> For this: > >>> dispatcher().assign("contact-form",&my_app::contact_form,this); > >>> mapper().assign("contact_form","contact-form"); > >>> > >>> Unhappily this changing didn't work. > >>> > >>> Anybody has some idea how I can resolve that. > >>> Thanks > >>> > >>> 2016-02-11 20:56 GMT-02:00 Rodrigo Emygdio <rod...@gm... > >: > >>>> > >>>> Hi Artyom, > >>>> > >>>> Thanks very much for your feedback. I tested the virtual main method > and > >>>> is executing properly. I changed the regex and the root url works > very well. > >>>> The problem now is that any other url just works if I add an extra > "/" on > >>>> the begin on the path. > >>>> > >>>> Thanks > >>>> > >>>> 2016-02-11 6:10 GMT-02:00 Artyom Beilis <art...@gm...>: > >>>>> > >>>>> > class my_app : public cppcms::application{ > >>>>> > public: > >>>>> > my_app(cppcms::service& s) : cppcms::application(s){ > >>>>> > dispatcher().assign("",&my_app::well_come,this); > >>>>> > mapper().assign(""); > >>>>> > mapper().root(""); > >>>>> > } > >>>>> > >>>>> 1st check if cppcms::application::main is called (I think it should) > >>>>> it is virtual > >>>>> member function so you can override it. > >>>>> > >>>>> 2nd When you access to "localhost:8080" you get request GET / > HTTP/1.0 > >>>>> it is mapped according to the rules to > >>>>> > >>>>> /mb.fcgi/ > >>>>> > >>>>> Than /mb.fcgi is matched and the path you get is "/" > >>>>> > >>>>> When you map to "" you Require empty path and thus it does not get > >>>>> dispatched. > >>>>> > >>>>> The correct is always to map to something starting with "/" or map to > >>>>> "/?" i.e. last "/" is optional. > >>>>> > >>>>> > >>>>> You can also use little bit different rule > >>>>> > >>>>> Instead of this > >>>>> > >>>>> { "regex" : ".*" , "pattern" : "/mb.fcgi$0" } > >>>>> > >>>>> Use > >>>>> > >>>>> { "regex" : "/(.*)" , "pattern" : "/mb.fcgi$1" } > >>>>> > >>>>> Than none of your urls will start from "/" > >>>>> > >>>>> it does not matter how do you do it - just pic and convention and > stick > >>>>> to it. > >>>>> > >>>>> Artyom > >>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> Site24x7 APM Insight: Get Deep Visibility into Application > Performance > >>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > >>>>> Monitor end-to-end web transactions and take corrective actions now > >>>>> Troubleshoot faster and improve end-user experience. Signup Now! > >>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > >>>>> _______________________________________________ > >>>>> Cppcms-users mailing list > >>>>> Cpp...@li... > >>>>> https://lists.sourceforge.net/lists/listinfo/cppcms-users > >>>> > >>>> > >>> > >> > > > > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > > _______________________________________________ > > Cppcms-users mailing list > > Cpp...@li... > > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > |