如何在php中读取子域的真实网址


How to read the real url of a sub-domain in php?

好的,假设我有一个子域设置为:mysubname.mysite.net,实际上,它将我带到以下URL:http://mysite.net/aName/bName/cName/eName

如何在PHP中获取http://mysite.net/aName/bName/cName/eName路径,这是相对于我的网站的真实路径?

这可能吗?我必须使用 .htaccess 文件来完成此操作吗? 我只需要将此真实路径存储在 php 变量中。 我不想将网址更改为新路径,只需要知道实际真实的,更长的路径的网址!

例如,我想在我的网站上使用Flash MP3播放器...它适用于长 URL:子域指向的实际路径

虽然,如果你去子域,它不会播放mp3文件:这里

我认为这与PHP中的这段代码有关,这是Flash Player工作所必需的:

$path= $_SERVER['HTTP_HOST'] .$_SERVER['PHP_SELF'];
$path=dirname($path);
$file='http://'.$path.'/'.$file;

有什么想法吗? 我可以发布更多您认为会有所帮助的代码...... 让我知道。

PHP 有一个全局变量可以帮助您解决这个问题。 我认为你想要的是HTTP_REFERER. 最好的办法是print_r页面顶部的 PHP $_SERVER 变量http://mysite.net/aName/bName/cName/eName,然后使用包含所需 URL 的变量。

因此,在页面顶部粘贴此代码:

<pre> print_r($_SERVER); </pre>

PHP 手册 $_SERVER 文档

想想看REQUEST_URI可能是你想要的。 同样,最好的办法是打印出$_SERVER,看看哪个变量有你想要的。

如果您的 mp3 文件位于某个目录中,例如:

$path="/music/song.mp3";

然后要获取文件的原始路径,可以使用realpath() .

$original_path=realpath($path);

$original_path 包含 mp3 文件的直接链接。希望对您有所帮助!