XAMPP通过$ _GET检索URL

时间:2013-04-20 21:12:42

标签: php xampp

我在本地计算机上安装了XAMPP。我开始设置我的MVC并注意到$ _GET将我的本地目录结构一直返回到驱动器号。但我想返回URL结构。

我试图提供所有可能的相关信息。

环境

主机 [C:\ Windows \ System32 \ drivers \ etc \ hosts]

127.0.0.1       www.getspark.com

httpd.conf [E:\ xampp \ apache \ conf \ httpd.conf]

DocumentRoot "E:/xampp/htdocs/home"

<VirtualHost *:80>
    DocumentRoot /xampp/htdocs/home
    ServerName getspark
</VirtualHost>
<Directory "E:/xampp/htdocs/home/private">
    Order deny,allow
    Deny from all
</Directory>
<Directory />
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.+)$ /index.php?url=$1 [L,QSA]
</Directory>

网络目录结构 [E:\ xampp \ htdocs \ home]

home
    index.php
    private
        controllers
    public
        graphics
            HTML5_Logo_512.png

首页 [E:\ xampp \ htdocs \ home \ index.php | http://www.getspark.com/]

<?php
$url = $_GET['url'];
echo $url . '<br />';
?>
<img src="/public/graphics/HTML5_Logo_512.png" />

如果我使用以下网址:

http://www.getspark.com/foobar

我得到了这个输出:

E:/xampp/htdocs/home/foobar

以及图像。

但我想要这个输出:

foobar

所有相对(和绝对)引用都能正常工作(对于图像,php文件,js文件等)。

1 个答案:

答案 0 :(得分:0)

使用$ _SERVER ['REQUEST_URI']被认为是更好的做法,它会在域之后返回请求中的所有内容(根据apache / lighty,在重写之前) - 在您的情况下为“/ foobar”。