我想在php中获取网址。在我的根目录“ 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/
到现在,一切正常。但是我想获得如下所示的网址,在我的index.php文件上删除实际的网址为http://localhost:8080/myproject/book/index.php?id=myurl,但是我希望当用户点击以下
的网址时http://localhost:8080/myproject/book/myurl
它可以访问URL http://localhost:8080/myproject/book/index.php?id=myurl,但在地址栏上仍然显示http://localhost:8080/myproject/book/myurl。
任何想法或建议都会受到欢迎。
答案 0 :(得分:0)
您应该在网站或nginx类似物根目录中的Apache Web服务器配置文件.htaccess中使用mod_rewrite指令。
答案 1 :(得分:0)
这取决于您的Web服务器,以下是主要3解决方案:
Apache mod_rewrite
nginx Rewrite rules
Microsoft IIS Rewrite rules
我认为最难实现的是IIS上的内容,但所有这些都需要一些入门知识才能使用。...
大多数Web框架都内置了重写规则或使用参数而不是查询参数进行路由。因此,根据您所使用的语言和框架,您可能不必自己进行翻译(这在***中可能很痛苦)