You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

根目录安装Laravel时如何将子域名指向指定自定义文件夹

第一步:确认基础配置

首先要排除基础配置错误,这是子域名无法访问最常见的原因:

  • 确认x.example.com的DNS解析已正确指向你的服务器公网IP,解析类型选择A记录即可
  • 确认服务器的虚拟主机配置中,x.example.com的站点根目录和主站example.com一致,均指向public_html目录,否则根目录下的重写规则对该子域名完全不生效
第二步:修正重写规则

你原有规则缺少域名匹配的结束标识和忽略大小写标志,同时要保证自定义规则放在Laravel默认规则最前面,完整的public_html/.htaccess配置如下:

RewriteEngine On

# x.example.com映射到/x目录规则
RewriteCond %{HTTP_HOST} ^x\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/x/
RewriteRule ^(.*)$ /x/$1 [L]

# Laravel 默认重定向规则
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
可选配置:完全隔离Laravel路由影响

如果/x是独立的非Laravel项目目录,可以直接在/x目录下新建独立的.htaccess文件,写入对应项目的重写规则,子目录的.htaccess优先级高于根目录,可完全规避Laravel路由的接管。

注意:修改配置后请清除浏览器缓存,Laravel默认的301重定向会被浏览器长期缓存,可能导致新规则不生效。

内容的提问来源于stack exchange,提问作者PHP User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:54:07