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

时间:2016-04-08 08:35:58

标签: nginx expressionengine

我正在尝试为在Expressionengine中构建的网站设置开发网站。我宁愿为我的开发站点使用子域,但我不能控制DNS ...所以为了避免麻烦,我只是在名为/ ~dev /的子目录中创建了一个副本。像这样:

http://example.com/< - 主要网站

http://example.com/~dev/< - dev site

我复制了数据库并相应更新了配置文件,如果我拉出主站点或开发站点主页,一切正常....但是当我点击开发站点上的任何链接时,我得到了一个'状态: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人)...所以我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

Sheesh,我现在可以回答我自己的问题了。在发布之前,我花了将近一个小时的谷歌搜索,搜索Stack Overflow,并阅读nginx文档无济于事......但是当我发布我的问题时,我看到侧栏中弹出了this相关问题,我能够适应我的情况。 facepalm 我的解决方案:

    location /~dev {
            if (!-e $request_filename) {
                    rewrite ^/~dev/(.*)$ /~dev/index.php/$1 last;
            }
    }