Codeigniter 不显示 404
Codeigniter not showing 404
当有人在 URL
末尾写斜杠时,我想显示 404 页面
http://www.example.com/abc
(正确URL)
http://www.example.com/abc/
(我要显示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。
当有人在 URL
末尾写斜杠时,我想显示 404 页面http://www.example.com/abc
(正确URL)http://www.example.com/abc/
(我要显示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。