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

如何将WordPress与Laravel分目录部署并实现指定路径访问?

实现Laravel与WordPress分目录部署的URL路由方案

一、用.htaccess实现(Apache服务器)

先明确服务器目录结构,建议将两个项目放在网站根目录的同级子目录:

网站根目录/
├── laravel/       # Laravel项目根目录
│   └── public/    # Laravel的Web访问入口
└── wordpress/     # WordPress项目根目录

在网站根目录创建(或修改).htaccess文件,写入以下规则:

RewriteEngine On

# 匹配/blog开头的请求,转发到WordPress目录
RewriteRule ^blog/(.*)$ wordpress/$1 [L]

# 匹配主域名根路径请求,转发到WordPress首页
RewriteRule ^$ wordpress/index.php [L]

# 处理/login单路径和子路径,转发到Laravel的public目录
RewriteRule ^login/(.*)$ laravel/public/login/$1 [L]
RewriteRule ^login$ laravel/public/login [L]

# 让Laravel处理/login路径下的内部路由
RewriteCond %{REQUEST_URI} ^/login/
RewriteRule ^ laravel/public/index.php [L]

注意事项:

  • WordPress后台设置:**站点地址(URL)**填https://siteexample.com,**WordPress地址(URL)**填https://siteexample.com/wordpress(若直接访问主域名正常,也可统一设为站点地址)
  • Laravel的config/app.php中APP_URL设为https://siteexample.com,保持登录路由为默认的/login即可
  • 确保Apache已开启mod_rewrite模块

二、Nginx服务器配置方案

若使用Nginx,直接修改站点配置文件即可,性能比.htaccess更优:

server {
    listen 80;
    server_name siteexample.com;
    root /var/www/html; # 网站根目录

    # 主域名和/blog路径指向WordPress
    location / {
        root /var/www/html/wordpress;
        index index.php index.html;
        try_files $uri $uri/ /index.php?$args;
    }

    location /blog {
        alias /var/www/html/wordpress;
        index index.php index.html;
        try_files $uri $uri/ /blog/index.php?$args;
    }

    # /login路径指向Laravel
    location /login {
        alias /var/www/html/laravel/public;
        index index.php index.html;
        try_files $uri $uri/ /login/index.php?$args;
    }

    # PHP处理规则,根据实际PHP版本调整
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

注意事项:

  • WordPress的站点URL设置与Apache方案一致
  • Laravel的APP_URL同样设为https://siteexample.com
  • 修改配置后重启Nginx生效:sudo systemctl restart nginx

三、额外提示

  • 两个项目完全独立,各自维护Git仓库即可,互不干扰
  • 若需添加更多Laravel路径(如/dashboard),可在.htaccess或Nginx配置中新增对应规则,将路径转发到Laravel的public目录

内容的提问来源于stack exchange,提问作者Ghazni Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:18:23