猿问

$GET 是 GET 请求后的数组(0)(PHP)

每次我在浏览器中输入 url 时,我都不会从 $_GET['url'] 获取 url,这是否正常?即使我尝试在某个类中捕获它,我也无法从 $_GET['url'] 获取 url,但为了简单起见,我将它放在这里只是在这个简单的示例中。

<?php 

   $url = getUrl();


   function getUrl(){

    if(isset($_GET['url'])){

      $url = rtrim($_GET['url'], '/');

      $url = filter_var($url, FILTER_SANITIZE_URL);

      $url = explode('/', $url);

      return $url;

    }

  }

?>


FFIVE
浏览 223回答 3
3回答

皈依舞

$_GET&nbsp;包含解析的查询参数,而不是实际的 URL 本身。您可以使用$_SERVER['HTTP_HOST']获取服务器的主机名(即host.example.com,以及$_SERVER['REQUEST_URI']获取路径(即/my/page/hello.php?a=b)。

收到一只叮咚

帮助我的是 .htaccess 文件设置。通过这种方式(见图),我可以捕获 url 部分。所以正确的 .htaccess 设置是我认为最好的答案。现在它的行为符合我的预期。.htaccess 文件:<IfModule mod_rewrite.c>&nbsp; Options -Multiviews&nbsp; RewriteEngine On&nbsp; RewriteBase /test&nbsp; RewriteCond %{REQUEST_FILENAME} !-d&nbsp; RewriteCond %{REQUEST_FILENAME} !-f&nbsp; RewriteRule&nbsp; ^(.+)$ index.php?url=$1 [QSA,L]&nbsp;&nbsp;</IfModule>

小怪兽爱吃肉

$_GET用于获取 URL 参数,而不是 URL 本身,使用&nbsp;atymic&nbsp;Answer 来获取您需要的内容
随时随地看视频慕课网APP
我要回答