草庐IT

网址 : Files and Directories with the same name?

coder 2024-02-29 原文

在 URL 方案中,如果目录和文件具有相同的名称,是否有任何不利之处?

我举个例子来说明我的意思:

假设您想进行分页。你可以这样做:

http://example.com/watches/page1
http://example.com/watches/page2
http://example.com/watches/page3
http://example.com/watches/page4

您可以将其解释为:目录“watches”包含 4 个文件——“page1”到“page4”。

现在,第一页可能会被经常访问,因此缩短指向它的链接是有意义的:

http://example.com/watches
http://example.com/watches/page2
http://example.com/watches/page3
http://example.com/watches/page4

第一个链接仍将显示第 1 页,但“第 1 页”被关闭。它不会重定向到

http://example.com/watches/page1

因为这会迫使服务器进行另一次往返。

您可以将其解释为:有一个名为“watches”的文件(显示类别 watches 中的第一页),并且有一个目录 'watches' 有 3 个文件 – 'page2' 到 'page4'。

我的问题又来了:如果目录和文件同名,如上例中的“watches”,是否有任何不利之处?

以下是我对此的看法:

就 SEO 而言,它可能没有缺点,因为 AFAIK 搜索引擎没有目录的概念,因此将 URL 视为字符 block 。只要 URL 不同(在我的示例中就是这样),搜索引擎就不会打扰。

万一有人想用像 wget 这样的网络爬虫来存档我的网站并将其内容镜像到本地硬盘上,这可能是个问题,因为大多数文件系统不允许超过一个文件/目录具有相同的名称。但是,恕我直言,这很容易解决,例如通过使用 wget 的 -E 选项,它将 .html 扩展名添加到 HTML 文件,但不添加到目录。

除此之外,我看不出有什么问题。你呢?

最佳答案

总的来说,现在的网络服务器不会将 URI 当作目录和文件来读取,而是作为资源的地址来读取,并且在许多情况下(如果不是大多数的话),URI 和资源之间的路由是复杂的。这个问题作为例子不是目录中的 HTML 文件。此外,网络爬虫也不必处理不能用作文件名的结构。

我不太清楚你的问题是什么,但我希望这对你有所帮助。

关于网址 : Files and Directories with the same name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054016/

有关网址 : Files and Directories with the same name?的更多相关文章

  1. ruby - 如何从短网址获取长网址? - 2

    如何使用Ruby将短URL(tinyURL、bitly等)转换为相应的长URL? 最佳答案 我不使用Ruby,但总体思路是向服务器发送HTTPHEAD请求,服务器将返回301响应(永久移动),其中包含URI的Locationheader.HEAD/5b2su2HTTP/1.1Host:tinyurl.comAccept:*/*回复:HTTP/1.1301MovedPermanentlyLocation:http://stackoverflow.comContent-type:text/htmlDate:Sat,23May200918

  2. ruby-on-rails - 解析 youtube 网址 - 2

    我写了一个ruby​​youtubeurl解析器。它旨在接受以下结构之一的youtubeurl输入(这些是目前我能找到的youtubeurl结构,也许还有更多?):http://youtu.be/sGE4HMvDe-Qhttp://www.youtube.com/watch?v=Lp7E973zozc&feature=relmfuhttp://www.youtube.com/p/A0C3C1D163BE880A?hl=en_US&fs=1目的是仅保存剪辑或播放列表的ID,以便可以将其嵌入,因此如果它是剪辑:'sGE4HMvDe-Q',或者如果它是播放列表:'p/A0C3C1D

  3. Javascript 路径名引荐来源网址 - 2

    如何在javascript中执行与document.location.pathname相同的功能-除了引荐来源网址?所以像document.referrer.pathname这样的东西?谢谢。 最佳答案 不能,您只能手动提取需要的部分:document.referrer.replace(/^[^:]+:\/\/[^/]+/,'').replace(/#.*/,'') 关于Javascript路径名引荐来源网址,我们在StackOverflow上找到一个类似的问题:

  4. JavaScript 网址变量 - 2

    我有注意url末尾的ref=images。我的问题是,如何从url获取ref变量并在同一个js文件中使用它。 最佳答案 简化mrtsherman的想法,只需找到具有正确src的脚本(从whatever.js中):varwhatever=$('script[src*=http://domain.com/js/whatever.js]')if(whatever.length){varref=whatever.attr('src').match(/\?ref=(.*)/)if(ref&&ref[1]){ref=ref[1]//ref=='

  5. JavaScript 网址解析 - 2

    我有一个类似http://mywebsite.com/folder1/folder2/index的网址如何解析上面的url并分别获取所有值?我希望输出如下:http,mywebsite.com,folder1,folder2,index 最佳答案 如果您的URL保存在变量中,您可以使用split()方法执行以下操作:varurl='http://mywebsite.com/folder1/folder2/index';varpath=url.split('/');//path[0]==='http:';//path[2]==='my

  6. javascript - 复制当前网址按钮 - Javascript - 2

    好吧,这可能是简单的或完全错误的,但我正在尝试创建一个按钮来将当前URL复制到剪贴板,这是我目前拥有的,我不太熟悉javascript,所以这是来自几个来源混合在一起,希望最好。ClickmefunctionCopyLink(){window.clipboardData.setData("Text",location.href);}任何帮助都将非常感谢! 最佳答案 使用来自thisanswer的函数copyTextToClipboard,您可以像这样单击按钮复制链接:functioncopyTextToClipboard(text)

  7. javascript - XSS - 哪些浏览器会自动转义地址栏中的网址? - 2

    我一直在表演一些xss/javascript-injection/penetration-testing在我的asp.net最近网站注意到现代web-browser(即最新的FF和Chrome)正在转义输入到地址栏中的url。所以:http://example.com/search/?q=">alert('hi');作为以下内容发送到我的服务器:http://example.com/search/?q=%22%3e%3cscript%3ealert(%27hi%27)%3b%3c%2fscript%3e是否有所有(主要)浏览器的列表,这些浏览器执行此操作,哪些不执行此操作?移动浏览器会

  8. javascript - 了解 HTTP 请求中的引荐来源网址/引荐来源网址的安全方法是什么? - 2

    我正在使用nodejs写一个图片上传服务。付费客户将能够将图像文件发送到我在服务器上设置的端点。但是,当每个请求进来时,我需要确认它实际上是一个付费客户发出请求。我想过让客户给我他们的域名,我只检查refererheader。但是,有人可以轻松地欺骗refererheader并在不付费的情况下使用我的服务。SaaS开发者如何面对这个技术难题?是否可以在不要求我的客户拥有一些服务器端代码的情况下解决这个问题? 最佳答案 您是在为网站构建外部图像托管服务,还是要共享一些必须私有(private)且安全的内容?如果是前者,请继续阅读。当然

  9. javascript - Angular 2获取上一页网址 - 2

    我有两个组件。客户和装运组件。当用户从Shipment组件转到Customer组件时。我想将Customer组件直接连接到Shipment组件。我用的就是这个方法。this._location.back();来自Locationangular/common。这个方法总是指向后台页面。但是我想直接到我来自装运组件的时候。 最佳答案 Angular6更新将下面的代码插入到包含您的2个组件的父组件中:-import{Router,RoutesRecognized}from"@angular/router";import{filter,pa

  10. javascript - 转义网址中的特殊字符 - 2

    我正在使用一个url打开一个html页面,我正在使用页面url在查询字符串中发送数据。例如:abc.html?firstParameter=firstvalue&seconedParameter=seconedvalue问题是如果参数中的firstvalue或secondvalue包含像#,(,),%,{这样的特殊字符,那么我的url构建得不好。在这种情况下,url未验证。我在javascript中完成所有这些工作。任何人都可以帮我解决这个问题。 最佳答案 您有3个选择:escape()willnotencode:@*/+encod

随机推荐