<div dir="ltr">Oleg,<div><br></div><div>the problem seems to be related how logical pathnames are merged. The partial pathname that is created by Hunchentoot and then merged with the document root pathname is considered to contain a directory component by CL. Therefore, the directory component that you are matching in your logical pathname host definition is not present when the two partial pathnames are merged. To work around this behavior, I'd recommend that you define a separate logical pathname host for your document root.</div>
<div><br></div><div><div>TEST-LOGICAL-PATHNAMES> (setf (logical-pathname-translations "TEST") '(("foo;*.*.*" "/tmp/*")))</div><div>(("foo;*.*.*" "/tmp/*"))</div><div>
TEST-LOGICAL-PATHNAMES> (directory (merge-pathnames "test.txt" #P"test:foo;"))</div><div>NIL</div><div>TEST-LOGICAL-PATHNAMES> (setf (logical-pathname-translations "TEST") '(("*.*.*" "/tmp/*")))</div>
<div>(("*.*.*" "/tmp/*"))</div><div>TEST-LOGICAL-PATHNAMES> (directory (merge-pathnames "test.txt" #P"test:foo;"))</div><div>(#P"/private/tmp/test.txt")</div><div>TEST-LOGICAL-PATHNAMES> (directory (merge-pathnames "test.txt" #P"test:"))</div>
<div>(#P"/private/tmp/test.txt")</div></div><div><br></div><div>-Hans</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-01-31 Left Right <span dir="ltr"><<a href="mailto:olegsivokon@gmail.com" target="_blank">olegsivokon@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry, I've copied the wrong log entry, this is the correct one:<br><br>127.0.0.1 - [2014-01-31 17:35:44] "GET /game.html HTTP/1.1" 404 188 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"<br>
</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 31, 2014 at 5:33 PM, Oleg Sivokon <span dir="ltr"><<a href="mailto:olegsivokon@gmail.com" target="_blank">olegsivokon@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello list,<br>
<br>
There should be something very simple I've overlooked, yet I can't find<br>
it. Hunchentoot seems not to be able to locate the root directory, where<br>
I have my static content, and I can't get it to print any useful<br>
information about it. That's why I'm asking for your help.<br>
<br>
Below is my setup:<br>
<br>
(setf (logical-pathname-translations "rgol")<br>
'(...<br>
("WWW;*.*.*" "/home/wvxvw/.../www/")<br>
("WWW;*;*.*.*" "/home/wvxvw/.../www/*")<br>
...))<br>
<br>
(make-instance 'hunchentoot:acceptor :port 4242<br>
:document-root #p"rgol:www;"<br>
:message-log-destination #p"rgol:logs;messages.log"<br>
:access-log-destination #p"rgol:logs;access.log")<br>
<br>
I've defined another handler, which doesn't depend on static files, and<br>
it works fine, however, when I try to access static files, the log<br>
record looks like this:<br>
<br>
127.0.0.1 - [2014-01-31 17:12:40]<br>
"GET /img/made-with-lisp-logo.jpg HTTP/1.1"<br>
404 206 "<a href="http://localhost:4242/game.html" target="_blank">http://localhost:4242/game.html</a>"<br>
"Mozilla/5.0 (X11; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0"<br>
<br>
But the file is definitely there, because if I try this in REPL:<br>
<br>
(directory #p"rgol:www;*.*")<br>
(#P"/home/wvxvw/.../www/game.html"<br>
... more files ...)<br>
<br>
My version of Hunchentoot is:<br>
<br>
hunchentoot:*hunchentoot-version*<br>
"1.2.17"<br>
<br>
$ sbcl --version<br>
SBCL 1.1.2-1.fc18<br>
<br>
Best,<br>
<br>
Oleg<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>