2009/2/16 Paul M Foster <pa...@quillandmouse.com>:
> I'm submitting a url like this:
>
> http://mysite.com/index.php/alfa/bravo/charlie/delta
>
> The index.php calls has code to decode the url segments
> (alfa/bravo/charlie/delta). It determines that the controller is alfa,
> the method is bravo, and converts charlie and delta to $_GET['charlie']
> = 'delta'. It verifies that the controller and method exist, and calls
> the controller and method.
>
> This works fine. The right controller gets called and the right method,
> and the GET parameter looks like it should. The method sets some
> variables and then calls a render() function to render the page, which
> is in the doc root of the site.
>
> The page does get rendered, but without the stylesheet, and none of the
> graphics show up. Why? Because, according to the logs, Apache appears to
> be looking for the images and everything else in the directory
> index.php/alfa/bravo/charlie/delta, which of course doesn't exist.
>
> No, I don't have an .htaccess file with RewriteEngine on. Apache figures
> out that index.php is the file to look for in the original URL, but
> can't figure out that everything else is relative to that file, not the
> entire URL.
>
> This method is in use in at least one other MVC framework. What am I
> doing wrong?

You need to specify the absolute URL for all assets when using a URL
scheme like this because the browser has no idea that index.php
indicates the current directory so it resolves relative paths using
the full URL.

-Stuart

-- 
http://stut.net/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to