没有索引文件的短网址?

时间:2011-10-01 23:24:31

标签: apache url

我想知道如何生成这样的网址:http://www.example.com/Xj7hF

这是我见过许多网址缩短程序以及其他网站所使用的做法,这些网站据称不希望以参数格式在网址中显示数据。

当然,他们不能将索引文件放在文件夹目的地/Xj7hF等中,并重定向到实际网址,所以我想知道这是怎么做的。

非常感谢任何帮助!

(我在使用Apache的Linux服务器上运行。)

2 个答案:

答案 0 :(得分:1)

不同的Web开发框架和Web服务器以不同的方式执行它,但最常见的可能是使用带有apache的mod_rewrite。基本上,Web服务器将请求发送到动态脚本语言(例如PHP),以这样的方式重写脚本不需要知道原始请求URI是什么样的,并且客户端浏览器不需要知道什么脚本实际上处理了请求。

例如,您经常会看到:

http://something.com/123/

这是对/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,因此您应该可以在那里找到更多信息。