如何通过.htaccess配置实现访问admin原路径返回404仅允许别名访问
实现方法
你只需要在原有重写规则前新增一条拦截/admin路径的规则即可,完整.htaccess配置如下:
# 拦截所有直接访问/admin路径的请求,返回404错误 RewriteCond %{REQUEST_URI} ^/admin(/.*)?$ [NC] RewriteRule ^ - [R=404,L] # 原有admin-cdn到admin的内部重写规则 RewriteRule ^admin-cdn/?(.*)$ admin/$1 [L]
规则说明
- 新增的拦截规则必须放在原有重写规则之前,确保请求先经过拦截校验
%{REQUEST_URI}匹配用户实际请求的路径,只会拦截外部直接访问/admin开头的请求,不会影响/admin-cdn的内部重写逻辑[R=404,L]参数表示直接返回404状态码,同时终止后续的规则匹配- 可选添加
NC参数实现忽略大小写匹配,不需要可以直接删除
配置完成后建议清空浏览器缓存再测试,避免之前的访问缓存影响验证结果。
内容的提问来源于stack exchange,提问作者Sparrow
相关产品推荐
相关产品推荐

