From: Mico S. <mic...@gm...> - 2007-05-14 01:44:44
|
Dear all, I am making a website using Webkit + Cheetah Template. I want the directory structure to be like this: web: | - application (this directory was made using MakeAppWorkDir.py) |- Lib |- MyContext |- templates |- css |- images |- flash In short, I want to separate between Servlet and templates and static contents. But now, my problem is I can't do it. Let say I have template : <img src="/images/someimage.jpg"> Then webware will try to feed someimage.jpg from web/application/MyContext/images/. This is not what I want. Can you give me tips how to accomplish it? thanks and best regards, -- Mico Siahaan --- Mobile: +62-8121025010 Email: Mic...@gm... Blog: www.tentangmico.info/blog Visit our shop: http://www.immanuelbookstore.com |
From: Christoph Z. <ci...@on...> - 2007-05-14 19:00:56
|
Mico Siahaan wrote: > I am making a website using Webkit + Cheetah Template. I want the > directory structure to be like this: > > web: > | - application (this directory was made using MakeAppWorkDir.py) > |- Lib > |- MyContext > |- templates > |- css > |- images > |- flash First, I suggest putting all static content in one separate directory: web: | - application (this directory was made using MakeAppWorkDir.py) |- Lib |- MyContext | - Static |- templates |- css |- images |- flash If all these static content belongs to your application, you should make it a subdirectory of your Webware working directory ("application") as indicated above, otherwise you can put it directly below "web" or use an already existing htdocs folder instead of "Static". Then, you should choose a default context. You can either make "MyContext" the default context, then you must prefix your static content in the URL with something like "/static/", or you can choose your Static folder as the default, then you must prefix your Webware app context with something like "/app/". In the first case, you would set Contexts = { 'static': 'Static', 'default': 'MyContext'} or you can also create contexts for all your static categories: Contexts = { 'css': 'Static/css', ... 'default': 'MyContext'} in the second case Contexts = { 'app': 'MyContext', 'default': 'Static'} Now you can already test your application with the built-in webserver. Then, you should configure Apache to serve the static content instead of Webware. In the first case, you would need mod_rewrite, the second case is straightforward, but you will need a redirect if the front page shall be dynamic already. See also the various recipes in the Webware Wiki, http://wiki.w4py.org/webware-recipes http://wiki.w4py.org/modrewrite-recipes Hope that helps. -- Chris |
From: Adam K. <ad...@ti...> - 2007-05-14 23:21:17
|
> Then, you should configure Apache to serve the static content instead = of > Webware. In the first case, you would need mod_rewrite, the second = case > is straightforward, but you will need a redirect if the front page = shall > be dynamic already. >=20 We serve all our static content directly via Apache as it just reduces = the number of requests into Webware and Apache is just really good at it :-) We avoid using mod_rewrite by using absolute URLs for the static = content: /images/whatever, /css/whatever, etc =AD as long as Apache can find the = files everything is fine. It also helps that we are only running one web application so we can do whatever we need to the Apache server :) Adam K --=20 Adam Kerrison This email and any attachment may contain confidential, privileged = information for the sole use of the intended recipient. If you are not = the intended recipient, do not disclose, reproduce, disseminate or = otherwise use this communication. If you received this communication in = error, please immediately notify the sender via email and delete the = communication from your system. Company information : Tideway Systems = Ltd, Registered Office: Anchor House, 15-19 Britten Street, London, SW3 = 3TY. Registered in England & Wales Reg. Reg. No: 4598072 VAT No: 805 = 5153 50=20 |