如何在php中获取url?
Posted
技术标签:
【中文标题】如何在php中获取url?【英文标题】:How to get url in php? 【发布时间】:2019-04-18 10:23:00 【问题描述】:我想在 php.ini 中获取 url。在我的根目录“myproject”->book 文件夹/index.php 文件中
请检查我在做什么:
我正在访问地址栏上的网址http://localhost:8080/myproject/book/index.php?id=myurl
PHP 代码:
<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $url;
Works Perfectly
Output: http://localhost:8080/myproject/book/index.php?id=myurl
?>
如果我想访问http://localhost:8080/myproject/book/
输出将是: http://localhost:8080/myproject/book/
到目前为止一切正常。但我想得到如下的 url,在我的 index.php 文件中删除实际的 url 将是 http://localhost:8080/myproject/book/index.php?id=myurl 但当用户点击下面的 url 时我想要
http://localhost:8080/myproject/book/myurl
它可以访问网址http://localhost:8080/myproject/book/index.php?id=myurl,但在地址栏上仍然显示网址http://localhost:8080/myproject/book/myurl
欢迎任何想法或建议。
【问题讨论】:
【参考方案1】:您应该在网站根目录下的 Apache 网络服务器配置文件 .htaccess 中使用 mod_rewrite 指令,或者使用 nginx 模拟。
【讨论】:
【参考方案2】:这取决于您的网络服务器,以下是主要 3 的解决方案:
阿帕奇mod_rewrite
nginxRewrite rules
微软 IIS Rewrite rules
我认为最难完成的是 IIS 上的那些,但它们都需要一些习惯......享受
大多数 Web 框架都内置了重写规则或使用参数而不是查询参数进行路由。因此,根据您使用的语言和框架,您可能不必自己进行翻译(这可能会很痛苦)
【讨论】:
@ Edwin Krause 感谢您的回复。我正在使用 apache。 欢迎您,您使用的是什么框架? PHP 显然是语言:-) 我没有使用任何框架。语言 php。我必须使用 laravel,但这是给我的未完成项目。 Laravel 非常适合路由和其他一切:最好的 PHP 框架!请您接受我的回答正确吗?以上是关于如何在php中获取url?的主要内容,如果未能解决你的问题,请参考以下文章
使用 htaccess 重写后,如何在 PHP 中获取可见 URL(不是实际 URL)? [复制]
如何在 php 中创建干净的 url 从 mysql 获取数据?