TYPO3 v10 404错误处理产生重复内容 如何实现真实重定向?
404错误重定向到指定页面解决方案
以下是不同服务器/运行环境下的实现方法:
Nginx 环境配置
修改对应站点的Nginx配置文件,在server配置块内添加如下规则:
error_page 404 =301 https://你的站点域名;
配置完成后重启Nginx服务即可生效。该规则会在触发404时返回301永久重定向状态码,直接跳转至你指定的首页地址,地址栏会同步更新为首页URL,不会产生重复内容问题。
Apache 环境配置
编辑站点根目录下的.htaccess文件,添加如下重写规则:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ https://你的站点域名 [L,R=301]
保存后直接生效,无需重启服务。所有无法匹配到现有文件/目录的请求都会触发301重定向到首页。
IIS 环境配置
可直接修改站点根目录下的web.config文件,添加如下配置:
<configuration> <system.webServer> <httpErrors errorMode="Custom"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" path="https://你的站点域名" responseMode="Redirect" /> </httpErrors> </system.webServer> </configuration>
也可以通过IIS管理器的「错误页」图形界面,将404错误的响应方式设置为重定向到指定的首页地址。
动态程序实现(无需修改服务器配置)
如果没有服务器配置修改权限,可以在你当前设置的自定义404页面头部添加重定向代码,以PHP为例:
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: https://你的站点域名"); exit(); ?>
其他开发语言逻辑一致,只要在404页面内容输出前返回301状态码和跳转地址头即可。
配置完成后建议用随机不存在的路径测试,确认地址栏会跳转至目标页面,且返回的HTTP状态码为301即可。
内容的提问来源于stack exchange,提问作者René Teinze
相关产品推荐
相关产品推荐

