网站如何为每个页面使用不同的URL?

时间:2018-05-22 17:35:05

标签: html web

我知道你可以在URL中插入一个像这样www.youtube.com/user/wow的GET变量。我也在我的网站上使用这种方法。我似乎不明白的是YouTube这样的网站如何使用{{1}}。他们实际上每个用户都有不同的文件,还是类似的技术?

1 个答案:

答案 0 :(得分:1)

传统上,在Unix系统上,特定用户的主目录可以称为~user /。模块' mod_userdir'通过允许使用以下URL访问每个用户主目录下的文件,将此想法扩展到Web。

http://www.example.com/~user/file.html

出于安全原因,从网络直接访问用户的主目录是不合适的。因此,UserDir指令指定用户的主目录下面的目录,其中Web文件位于该目录下。使用Userdir' public_html'的默认设置,上面的URL映射到/home/user/public_html/file.html等目录中的文件,其中/ home / user /是用户的主页/ etc / passwd中指定的目录。

还有其他几种形式的Userdir指令,您可以在/ etc / passwd不包含主目录位置的系统上使用。

有些人发现"〜"符号(通常在网络上编码为%7e)很笨拙,并且更喜欢使用备用字符串来表示用户目录。 mod_userdir不支持此功能。但是,如果用户'主目录以常规方式构建,然后可以使用AliasMatch指令来实现所需的效果。例如,要使http://www.example.com/upages/user/file.html映射到/home/user/public_html/file.html,请使用以下AliasMatch指令:

AliasMatch" ^ / upages /([a-zA-Z0-9] +)(/(。*))?$" " /家庭/ $ 1 /的public_html / $ 3#34;

了解更多信息:

https://httpd.apache.org/docs/trunk/urlmapping.html