I realize that when I change from embedded server to, for instance, CGI, some things must be adjusted. For example, I use TRequest.ScriptName to get the base path of my web. This seems OK for CGI but not for embedded server, because it's not set there. I even got almost totally different environment variables set!
CGI: HTTP_HOST=localhost HTTP_HOST=localhost HTTP_CONNECTION=keep-alive HTTP_REFERER=http://localhost/foj/foj.cgi/problem/browse HTTP_CACHE_CONTROL=max-age=0 HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30 HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_ENCODING=gzip,deflate,sdch HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.8 HTTP_ACCEPT_CHARSET=ISO-8859-1,utf-8;q=0.7,*;q=0.3 PATH=... // cut down for brevity SystemRoot=C:\WINDOWS COMSPEC=C:\WINDOWS\system32\cmd.exe PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH WINDIR=C:\WINDOWS SERVER_SIGNATURE= SERVER_SOFTWARE=Apache SERVER_NAME=localhost SERVER_ADDR=127.0.0.1 SERVER_PORT=80 REMOTE_ADDR=127.0.0.1 DOCUMENT_ROOT=C:/UniServer/www SERVER_ADMIN=admin@localhost SCRIPT_FILENAME=C:/UniServer/www/foj/foj.cgi REMOTE_PORT=2373 GATEWAY_INTERFACE=CGI/1.1 SERVER_PROTOCOL=HTTP/1.1 REQUEST_METHOD=GET QUERY_STRING= REQUEST_URI=/foj/foj.cgi/index/home SCRIPT_NAME=/foj/foj.cgi PATH_INFO=/index/home Embedded server: =::=::\ =::=::\ =C:=C:\UniServer\www\foj =D:=D:\ ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Lele Dumbo\Application Data CLASSPATH=. CLIENTNAME=Console COLUMNS=80 CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=LELEDOWS ComSpec=C:\WINDOWS\system32\cmd.exe CPLUS_INCLUDE_PATH=C:\gtk+\include;C:\Python26\include;C:\lua\include C_INCLUDE_PATH=C:\gtk+\include;C:\Python26\include;C:\lua\include;C:\perl\include EDITOR=C:\SciTE++\SciTE.exe FP_NO_HOST_CHECK=NO GOBO=C:\gobo GRAPHVIZ_DOT=C:\graphviz\bin\dot.exe HOMEDRIVE=C: HOMEPATH=\Documents and Settings\Lele Dumbo INCLUDE=C:\FASM\INCLUDE JAVA_HOME=C:\Java LC_MESSAGES=C LIBRARY_PATH=C:\gtk+\lib;C:\Python26\libs;C:\lua\lib;C:\perl\lib LINES=24 LOGONSERVER=\\LELEDOWS MOSMLLIB=C:\mosml\lib MOZ_PLUGIN_PATH=C:\Program Files\SumatraPDF\ NUMBER_OF_PROCESSORS=2 OS=Windows_NT Path=... // cut down for brevity PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel PROCESSOR_LEVEL=15 PROCESSOR_REVISION=0605 ProgramFiles=C:\Program Files QTDIR=C:\qt RUBYOPT=-rubygems SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\WINDOWS TEMP=C:\DOCUME~1\LELEDU~1\LOCALS~1\Temp TMP=C:\DOCUME~1\LELEDU~1\LOCALS~1\Temp USERDOMAIN=LELEDOWS USERNAME=Lele Dumbo USERPROFILE=C:\Documents and Settings\Lele Dumbo windir=C:\WINDOWS The one from embedded server looks like my computer environment, while the CGI one seems to be set by the underlying web server (Apache in this case). So, how can I get the base web path (like localhost:12000/executable-name) in embedded server? I need to do this because links to other parts of the website must be relative to it. -- View this message in context: http://free-pascal-lazarus.989080.n3.nabble.com/EmbWeb-Moving-between-webapp-type-caveats-tp3053108p3053108.html Sent from the Free Pascal - Lazarus mailing list archive at Nabble.com. -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus