Forums / Developer / problem with ezurl and siteacces
Marko Žmak
Monday 26 June 2006 2:46:46 am
I'm experiencing some problems with ezurl() when using template cache. I acces my eZ installation like this:
http://example.com/mysite/index.php
so eZ is located under http://myserver/mysite/ and NOT in the root of my server. I'm using "myaccess" siteacces. I tried to output a link like this:
<A HREF="content/view/full/2"|ezurl()}>Link text</A>
When I use template cache and template compile I get this "Link text" pointing to:
http://example.com/mysite/content/view/full/2
and when the template cache is off I get this:
http://example.com/mysite/index.php/myaccess/content/view/full/2
So it seems to me that ezurl() behaves wrong when template cache is on. Is this a bug or there's something I missed?
-- Nothing is impossible. Not if you can imagine it! Hubert Farnsworth
Łukasz Serwatka
Tuesday 27 June 2006 12:12:04 am
In the xhtml code you have tpl parse error, but I guess this is only quick example. Do you have ForceVirtualHost parameter enabled? Have you tired to clear the cache manually after template compile is on? Works fine here.
Personal website -> http://serwatka.net Blog (about eZ Publish) -> http://serwatka.net/blog
Tuesday 27 June 2006 12:48:21 am
Yes this error was just a typo in the example.
Yes, I also cleared the cache manually and it didn't help.
No I DON'T have ForceVirtualHost enabled, should I enable it?
Tuesday 27 June 2006 12:49:33 am
P.S. What exactly do you mean by "Works fine here."? Could you give me an example that's configured the same way as my site and it works ok?
Tuesday 27 June 2006 12:53:22 am
I have installed "plain" 3.8.1 in the subdirectory of root folder in non-VH setup and ezurl() returns correct path with siteaccess and index.php. I can't reproduce yout error. Can you please try on the new clean installation and try to reproduce it?
Tuesday 27 June 2006 1:01:52 am
More info:
settings/override/site.ini.append.php [ContentSettings] ViewCaching=enabled PreViewCache=enabled [TemplateSettings] TemplateCache=enabled TemplateCompile=enabled TemplateOptimization=enabled
Code used in pagelayout.tpl
<a href={"/news"|ezurl}>News</a>
Output:
http://localhost/test38x/index.php/plain_site/news
Tuesday 27 June 2006 1:16:56 am
Hm... Now that I look again at the site after two days it seems that it works OK...
I'm really puzzled, I didn't change anything in the config from the last time I checked the site...?????
It seems like there's some timeout after clearing the cache, even when the cache directory is deleted manually. This thing occured to me a few other times... I cleared the cache, and also deleted it manually but the changes started to work only when I looked at the site after a day or two... It happened only a few times and I couldn't catch what induced such behaviour.
Is there a reasonable explanation for this or is my site having ghosts?
Tuesday 27 June 2006 1:20:25 am
Do you have PHP Accelerator enabled? Difficult to say why you experienced this.
Tuesday 27 June 2006 6:08:01 am
Yes I have ezaccelerator. Maybe this could be the answer.
Saturday 01 July 2006 3:25:06 pm
I discovered what were "the gosths" on my site...
When I enable TemplateCompile and clear the cache everything is working OK. But if I call bin/php/eztc.php after clearing the cache and before I look my site in the browser, then the problem I described in the first post occurs.
When I think about this it seems natural, because the eztc.php script is run from the shell so it cannot guess how my site is accesed from the outside. So I tried using --access-path argument when executing eztc.php. First I executed it with:
--access-path=mysite
but then all the links were generated without index.php. After that I executed it with:
--access-path=mysite/index.php
and it worked OK. Is this normal behaviour? Since eztc.php and --access-path aren't documented anywhere I can't tell.
Saturday 01 July 2006 3:40:44 pm
It seems that using --access-path is not thw right sollution. When I use it links (by using ezurl()) are generated OK but the images are not displayed correctly because their urls are generated with ezdesign() operator. So the right sollution is to use:
--www-dir=/mysite
With this argument it works OK. But also, when I use this argument the index.php disapeares from links. This is actually a nice thing but could someone tell me if this is expected behavour?