Codeigniter 不显示 404

Codeigniter not showing 404

当有人在 URL

末尾写斜杠时,我想显示 404 页面

如果您的 URL 中的 none 以斜杠结尾,并且您不需要直接访问任何文件系统目录,那么您可以在 顶部添加以下内容.htaccess 文件的 现有 Codeigniter 指令之前,改为提供 404:

# Trigger 404 for any URL that ends in a slash
RewriteRule /$ - [R=404]

或者,您也可以删除结尾的斜线。 IE。将任何以斜杠(不是文件系统目录)结尾的 URL 重定向到 URL 的非斜杠版本。例如:

# Remove trailing slash (except for directories)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.+)/$ / [R=301,L]

以上将 /abc/ 重定向到 /abc,从而避免了重复内容问题。

注意:首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。

您需要排除目录,否则 mod_dir 将尝试重新附加尾部斜杠,您会得到一个重定向循环。


旁白: 您需要确保始终链接到正确的规范 URL,即。没有尾部斜杠。如果 Google 使用尾部斜杠索引 URL,则表明它已在某处找到这些 URL。