我正在用core创建一个URL缩短服务,我创建了一个数据库,存储长和短(表单提交后生成的)URL。有什么方法可以让我这样做,我不需要使用页面访问短URL,让我详细解释。
http://localhost:80/link.php?q=d3432hnc
.
index.php
,它有一个表单,它从用户那里获取一个URL或长URL,在验证了这个URL之后,我用一个短的5-6字符字符串保存这个长Url,然后将它保存到我的数据库中,我将把这个短URL发送回用户。link.php
的短URL,并且我正在监听这个页面请求中的querystring,就像这个我在找这个问题-
因此,我想问的是,是否有其他方式可以像https://localhost:80/jfkdasjfkajsd
一样访问短url,而无需创建页面并将这个url像http://localhost:80/link.php?q=jfkdasjfkajsd
一样传递到queryStrings中。
发布于 2020-06-04 05:41:46
搜索"php URL重写“。
您可以设置Apache或nginx将第一个url重写为第二个url。
发布于 2020-06-04 05:45:44
查看apache/php的mod_rewrite
模块和.htaccess
本质上,它允许将URL段作为参数处理,并将它们传递给脚本
.htaccess
Options FollowSymLinks
ReWriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]
现在,如果您的网站被一个URL http://website.com/this/is/great调用
调用index.php并通过GET参数传递URL段。
在index.php
中,您可以使用:
$url = explode('/', htmlspecialchars($_GET['q']));
以获取URL段的数组。使用它们来确定要返回的文件。
https://stackoverflow.com/questions/62187506
复制相似问题