如何通过.htaccess将无限层级不存在的嵌套地址重定向到首页
解决方案配置步骤
- 第一步:确认服务器基础配置
确保Apache已开启mod_rewrite模块,且站点配置中AllowOverride参数设置为All,否则.htaccess规则不会生效。 - 第二步:编辑站点根目录下的.htaccess文件,添加如下规则:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ / [L,R=301]
规则说明
RewriteEngine On:开启重写引擎RewriteCond %{REQUEST_FILENAME} !-f:判断请求的路径不是真实存在的文件RewriteCond %{REQUEST_FILENAME} !-d:判断请求的路径不是真实存在的目录RewriteRule ^(.*)$ / [L,R=301]:所有满足上述两个条件的请求,不管路径层级多少,全部301永久重定向到网站根目录(首页),L表示这是最后一条匹配规则,匹配到就不再执行后续规则。
如果你需要临时重定向(后续可能恢复对应路径的访问),可以将规则末尾的
R=301改为R=302即可。
内容的提问来源于stack exchange,提问作者Renderer
相关产品推荐
相关产品推荐

