我想知道如何生成这样的网址:http://www.example.com/Xj7hF
这是我见过许多网址缩短程序以及其他网站所使用的做法,这些网站据称不希望以参数格式在网址中显示数据。
当然,他们不能将索引文件放在文件夹目的地/Xj7hF
等中,并重定向到实际网址,所以我想知道这是怎么做的。
非常感谢任何帮助!
(我在使用Apache的Linux服务器上运行。)
答案 0 :(得分:1)
不同的Web开发框架和Web服务器以不同的方式执行它,但最常见的可能是使用带有apache的mod_rewrite。基本上,Web服务器将请求发送到动态脚本语言(例如PHP),以这样的方式重写脚本不需要知道原始请求URI是什么样的,并且客户端浏览器不需要知道什么脚本实际上处理了请求。
例如,您经常会看到:
这是对/123
的请求,Apache可根据用户配置mod_rewrite的方式将其重写为/my_script.php?id=123
的请求。
(。htaccess示例)
# if the request is for a file or directory that
# does not actually exist, serve index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1
答案 1 :(得分:0)
这称为URL rewriting,通常通过正确配置网络服务器来执行。 StackOverflow为此提供了several tags,因此您应该可以在那里找到更多信息。