Re: [Cppcms-users] CppCMS-Embedded web root
Brought to you by:
artyom-beilis
From: Rodrigo E. <rod...@gm...> - 2016-02-12 17:15:01
|
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 >>> >> >> > |