如何通过.htaccess重定向网站根目录并阻止直接访问新根目录
解决直接访问子目录返回404的.htaccess配置方案
直接修改你的.htaccess规则,在原有重定向规则前添加拦截规则,就能实现访问example.com/www或example.com/www/时返回404错误,完整配置如下:
Options -Indexes Options +FollowSymLinks RewriteEngine On # 拦截直接访问/www或其下内容的请求,返回404 RewriteRule ^www(/.*)?$ - [R=404,L] # 将非/www开头的请求转发到www目录 RewriteCond %{REQUEST_URI} !^/www RewriteRule ^(.*)$ /www/$1 [L,NC]
规则说明
- 第一条
RewriteRule:匹配所有以www开头的路径(包括www/、www/xxx这类子路径),直接返回404状态码,L标记确保这条规则执行后不再处理后续规则。 - 原有重定向规则保持不变,确保正常访问主域名时仍能加载www目录内容。
内容的提问来源于stack exchange,提问作者losingfire
相关产品推荐
相关产品推荐

