如何使用nginx在子目录中运行多个expressionengine实例?

问题描述 投票:0回答:1

我正在尝试为内置expressionengine的站点设置开发站点。 我本来希望为我的开发站点使用一个子域,但我不控制DNS ...因此,为了避免麻烦,我只是在一个名为/〜dev /的子目录中进行了复制。 像这样:

http://example.com/ <-主站点

http://example.com/~dev/ <-开发网站

我复制了数据库并相应地更新了配置文件,如果我调出主站点或开发站点的主页,一切都将正常工作。...但是,一旦我单击开发站点上的任何链接,我就会得到一个“状态: 404页面未找到”页面。 我认为nginx只是不能正确路由请求。 这是我的nginx配置(部分):

server {
    listen 80;
    server_name ~^(?<www>.+)\.example\.com$;
    root /data/website;

    index index.php;

    include /etc/nginx/restrictions.conf;

    #dev site
    location /~dev {
           index index.php;
    }

我对nginx不太熟悉(我主要是一个Apache家伙)...所以我在这里错过了什么?

nginx expressionengine
1个回答
0
投票

嘘,我现在可以回答我自己的问题。 发布之前,我花了将近一个小时的时间进行谷歌搜索,搜索Stack Overflow和阅读nginx文档都无济于事...但是,当我发布问题后,我立即在侧栏中看到相关的问题,我可以适应我的情况。 捂脸我的解决方案:

    location /~dev {
            if (!-e $request_filename) {
                    rewrite ^/~dev/(.*)$ /~dev/index.php/$1 last;
            }
    }
© www.soinside.com 2019 - 2024. All rights reserved.