每次我在浏览器中输入 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; } }?>
3 回答
皈依舞
TA贡献1851条经验 获得超3个赞
$_GET 包含解析的查询参数,而不是实际的 URL 本身。
您可以使用$_SERVER['HTTP_HOST']获取服务器的主机名(即host.example.com,以及$_SERVER['REQUEST_URI']获取路径(即/my/page/hello.php?a=b)。
收到一只叮咚
TA贡献1821条经验 获得超5个赞
帮助我的是 .htaccess 文件设置。通过这种方式(见图),我可以捕获 url 部分。所以正确的 .htaccess 设置是我认为最好的答案。现在它的行为符合我的预期。

.htaccess 文件:
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
- 3 回答
- 0 关注
- 222 浏览
添加回答
举报
0/150
提交
取消
