我在根示例中创建了文件夹:http ://www.zipholidays.co.uk/Cuba或http://www.zipholidays.co.uk/Florida
当我输入http://www.zipholidays.co.uk/cuba(小写立方体)时,它显示找不到页面。
我正在使用 Apache 服务器。人们正在链接到小写、大写、混合大小写的页面——不管怎样。我该怎么做才能使页面不区分大小写?
我在根示例中创建了文件夹:http ://www.zipholidays.co.uk/Cuba或http://www.zipholidays.co.uk/Florida
当我输入http://www.zipholidays.co.uk/cuba(小写立方体)时,它显示找不到页面。
我正在使用 Apache 服务器。人们正在链接到小写、大写、混合大小写的页面——不管怎样。我该怎么做才能使页面不区分大小写?
mod_spelling 也许?mod_spelling
如果您使页面不区分大小写,则会出现一些重复的内容问题,因为您将拥有两个具有相同内容的页面。
一个好的解决方案是在存在小写等效项时在每个 404 页面上执行一些 301 重定向。
例如,在您的 404 默认页面中,您输入:
<?php
$lower = strtolower($_SERVER['REQUEST_URL']);
if (file_exists(PATH_TO_YOUR_APPLICATION . $lower) {
header('location: ' . $lower, true, 301);
die();
}
?>
因此,当您加载 404 页面时,如果存在相同的小写 url,则重定向到那里。否则,您可以显示自己缺少的页面内容。
我不会让我的 URL 不区分大小写。相反,我会遵循创建此类 URL 的严格指南。例如,我将只使用小写 URL 路径,并将带有大写字母的 URL 路径的请求重定向到小写变体。
你甚至可以用mod_rewrite做到这一点(需要重写映射到内部tolower
函数):
RewriteCond %{tolower:%{REQUEST_URI}} .+
RewriteRule ^[^A-Z]*[A-Z] %0 [L,R=301]
也许您可以将 linux for windows 替换为服务器操作系统。
Linux 上的 Apache 在文件路径中区分大小写,在 URI 中也是如此。Windows 文件系统不区分大小写,因此在那里没有关系。
你不需要这样做。因为谷歌会认为你的网站上有重复的页面,会禁止你。这是SEO科学的规则。