Odd PHP question

alex at crackpot.org alex at crackpot.org
Sun Jan 15 17:07:36 MST 2006


Try a test script like this : 'var_dump($_SERVER);'.  This will show you all the
variables provided by the web server (like DOCUMENT_ROOT, PHP_SELF, etc.)  There
may be one which has what you want.  Maybe PATH_TRANSLATED?

alex

Quoting Kurt Granroth <plug-discuss at granroth.org>:

> This isn't directly Linux related but since I know there are a lot of
> PHP folks on this list, I thought I'd ask here.
>
> I have multiple domain and multiple subdomain support with my web
> hosting enabled mostly by using mod_rewrite.  The end result is that
> I can define my domains and subdomains by just creating the proper
> directory structure.
>
> For instance, say I have "sub.domain.com", "other.domain.com", and
> "cool.com".  I would simply create following directory structure:
>
> $DOCUMENT_ROOT/domain.com/sub/
> $DOCUMENT_ROOT/domain.com/other/
> $DOCUMENT_ROOT/cool.com/
>
> So far, so good.  That all works just as expected.  Now say, though,
> that I have a PHP file 'index.php' in the directory 'domain.com/sub'
> that looks like so:
>
> <?php echo $_SERVER["PHP_SELF"] ?>
>
> I then execute the script using "http://sub.domain.com/index.php".
> The result:
>
> /domain.com/sub/index.php
>
> This is technically accurate... but not at all what I want.  Why?
> Because typically, PHP code uses the dirname() of this to find other
> relative scripts.  If you do that, though, then the constructed URL
> will look like so:
>
> http://sub.domain.com/domain.com/sub/someother.php
>
> instead of
>
> http://sub.domain.com/someother.php
>
> So it seems that I somehow have to "fool" PHP into thinking that
> PHP_SELF (and SCRIPT_NAME and SCRIPT_FILENAME) is "/index.php"
> instead of "/domain.com/sub/index.php"
>
> Is that even possible?  If so, how.  If not, is there any way around
> this at all?
>
> Thanks!
> Kurt
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.plug.phoenix.az.us
> To subscribe, unsubscribe, or to change  you mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>




More information about the PLUG-discuss mailing list