首页 > 解决方案 > 同名但大小写不同的网站目录

问题描述

我被要求创建几个具有相同名称但大小写不同的文件夹。这背后的想法是允许在有人输入特定 url 时出现大写错误。他们想做这样的事情:

www.website.com/youtube www.website.com/Youtube www.website.com/youTube www.website.com/YouTube

我认为这是不好的做法,原因有很多,主要是它看起来令人困惑和不必要,并且对这些页面的任何更新都必须完成 4 次。我还注意到 VSCode 不允许我从编辑器中创建这些目录,而我的计算机(一台 Windows 机器)也不允许我从文件管理器中创建这些目录。

我已经看到这可能会给 git 带来问题,因为无论大小写如何,它都不会将文件识别为单独的文件。

所以真的我的问题是:

1.)有没有办法做到这一点?

2.) 如果是这样,这是一种不好的做法吗?

3.)如果这是一个不好的做法,为什么?

如果可能的话,我想为他们做这件事,但如果有一些我不知道的不可预见的后果,我不会这样做。任何见解将不胜感激。

提前致谢。

编辑:为了清楚起见,我们已经有了,www.website.com/youtube但一些用户报告说他们的浏览器会自动更正 url 的“youtube”部分,以使 Y 或 T 大写。从我现在看到的情况来看,要做到这一点,我们必须在服务器端做一些事情,我的知识是有限的。我只知道它是一个 Linux 服务器。

标签: htmlwebdevops

解决方案


首先,明智的解决方案是将这些路线重定向到正确的路线,这不是一项不常见的任务。我不知道你的基础设施是什么样的,这样做的难易程度是未知的。

1.)有没有办法做到这一点?

假设您的服务器是 Linux/BSD/使用除 Windows NTFS 文件系统之外的任何东西,是的。您可以将一个文件夹作为事实来源并创建符号链接。或者,您可以在您使用的任何服务器上使路由不区分大小写。

2.) 如果是这样,这是一种不好的做法吗?

克隆相同的信息并重复进行相同的更新是一种糟糕的做法。在服务器上创建符号链接稍微不那么糟糕,但仍然是非常糟糕的做法,因为这会使你的目录树变得杂乱无章,不必要的废话。

3.)如果这是一个不好的做法,为什么?

这个想法不错,您可以在大多数现代服务器配置上创建不区分大小写的路由。提供的建议非常糟糕。但是在不知道你的堆栈是什么样子的情况下,我们无法提供更多关于如何做到这一点的信息。


推荐阅读