如何使用.htaccess配置不同访问路径加载指定子目录下的index.php文件
首先请确认你的Apache服务已开启mod_rewrite模块,且站点配置中AllowOverride参数设为All,否则.htaccess规则无法生效。
你可以直接使用下面的基础版.htaccess配置:
RewriteEngine On # 根路径请求转发到child-folder-1的index.php RewriteRule ^$ child-folder-1/index.php [L] # /xyz路径请求转发到child-folder-2的index.php RewriteRule ^xyz$ child-folder-2/index.php [L]
以上配置为内部转发逻辑,用户浏览器的地址栏不会发生跳转变化。
如果你需要兼容/xyz后面的子路径、同时保留原请求携带的查询参数,可以使用增强版配置:
RewriteEngine On # 根路径规则,自动保留查询参数 RewriteRule ^$ child-folder-1/index.php [L,QSA] # 匹配/xyz及后续所有路径,同步传递路径和参数 RewriteRule ^xyz(.*)$ child-folder-2/index.php$1 [L,QSA]
参数说明:
[L]:匹配到当前规则后不再向下匹配其他规则[QSA]:自动将原请求的查询参数拼接到重写后的目标地址上(.*):通配匹配/xyz后面的所有路径片段,同步传递到目标文件
内容的提问来源于stack exchange,提问作者Usman Ejaz
相关产品推荐
相关产品推荐

