我正在尝试在我的网站上实现shortURL功能。 调用URL http://example.com/T35T应该将用户重定向到特定网站。 我的问题是获得顶级域名后面的关键字。 通过调用URL,Web服务器尝试找到文件夹T35T并抛出错误。
如何阻止服务器(apache)搜索文件夹,这样我就可以通过PHP读取URL并正确地重定向用户。
感谢您的回答!
问候
答案 0 :(得分:0)
您可以将您的网址保存在数据库中并为其创建ID。
然后你会将id int
的id编码到a-zA-Z0-9-.,+=
的基础
因此1将是a
,27将是A
,55 => 0
,65 => -
,69 => =
,70 => aa
,71 => ab
等等。
这是您发送访问者的内容。
如果您的访问者调用了网址(使用网址重写),您可以解码您的ID,在数据库中读取此ID的网址,然后重定向。
答案 1 :(得分:0)
问题URL rewriting with PHP或多或少是您所需要的(或此How can I display SEO friendly URLs using mod_rewrite?)。
您需要告诉apache将此网址转换为您可以管理的网页。
根据Niels Keurentjes接受的答案(根据您的需要进行了修改):
在根文件夹中添加名为.htaccess的文件,并添加如下内容:
RewriteEngine on
RewriteRule ^/([a-zA-Z0-9]+)$ /redirect.php?id=$1
这将告诉Apache为此文件夹启用mod_rewrite,如果它被问到与正则表达式匹配的URL,它会在内部将其重写为您想要的内容,而不会让最终用户看到它。
然后在页面redirect.php
中,您可以根据ID进行HTTP重定向。
您还可以看到official guide。