关于网址

时间:2013-11-26 00:08:48

标签: url web

我的问题是关于URL和Web。有时我看到URL如此: 的 www.myweb.com/user.php?name=mark 我知道这种方式你可以从数据库中获取数据,其中名称是标记并在网站上显示。

但其他方式是看到是这样的: 的 www.myweb.com/user/mark

正如我所看到的,它在用户文件夹中命名为mark的文件,然后以某种方式从数据库中显示有关名为Mark的人的所有信息,但是真正发生了什么?怎么这样做?它与XML有关吗?何时使用呢?为什么要这样使用呢?

我甚至不知道在谷歌搜索什么,所以任何链接都有帮助。

谢谢

4 个答案:

答案 0 :(得分:1)

这是一种称为url-rewriting的常用技术,Web服务器可以执行此操作。

Wordpress执行此操作并翻译

http://example.com/2013/04/27/foo

类似

http://example.com/index.php?url=2013/04/27/foo

您可以在Wikipedia上阅读一般内容。

答案 1 :(得分:1)

usermark不是“文件夹”,而只是网址的一部分。

某些Web服务器遵循约定查找文件夹/ user / mark(相对于某个根文件夹)并从那里提供文档。

但是,Web平台以不同方式解释URL变得越来越普遍。具体解释取决于具体的网络平台。

此类Web平台只是使用平台定义的约定将URL的一部分映射到服务器资源。

在ASP.Net(我最熟悉的平台)中,该映射称为routing

  

ASP.NET路由使您可以使用不必映射到网站中特定文件的URL。由于URL不必映射到文件,因此您可以使用描述用户操作的URL,因此用户更容易理解。

答案 2 :(得分:0)

如果谈论常见的Apache服务器,网络服务器有一个名为.htaccess的文件或另一个httpd.conf能够使用Apache的内置mod_rewrite模块进行URL重写的文件。可以使用RewriteCondRewriteRule指令在这些文件中指定执行此操作的确切方法。新URI只是旧URI的别名。 (不必为给定路线提供实际文件夹)

答案 3 :(得分:0)

这是因为使用了.htaccess 这是一个删除查询字符串并生成漂亮URL的文件

示例:

RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} !no-redir [NC]
RewriteCond %{QUERY_STRING} (^|&)subject=([^&]+) [NC]
RewriteRule ^(.*)/product.php$ $1/%2? [NC]

RewriteRule ^([^+\s]+)(?:[+\s]+)([^+\s]+)((?:[+\s]+).*)$ $1-$2$3 [DPI,N]
RewriteRule ^([^+\s]+)(?:[+\s]+)([^+\s]+)$ $1-$2 [R=301,DPI,L]