首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有重写drupal的位置子目录nginx

带有重写drupal的位置子目录nginx
EN

Stack Overflow用户
提问于 2012-06-24 05:21:58
回答 1查看 5K关注 0票数 0

我有一个nginx的配置:

代码语言:javascript
复制
server {
    listen       80;
    server_name  example.com www.example.com;

    location = / {
            root /var/www/example.com;
            index index.php;
    }

    location / {
            root   /var/www/example.com/Drupal;
            index  index.php index.html;

            if (!-f $request_filename) {
                    rewrite  ^(.*)$  /index.php?q=$1  last;
                    break;
            }

            if (!-d $request_filename) {
                    rewrite  ^(.*)$  /index.php?q=$1  last;
                    break;
            }
    }

    location ~ \.php$ {

            set $php_root /var/www/example.com/Drupal;

            if ($request_uri ~ ^/MassMail) {
                    set $php_root /var/www/example.com/MassMail;
            }

            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name;

    }

我在php中有两个应用程序:

/var/www/example.com/MassMail

  • the中的第一个
  • /var/www/example.com/Drupal (一个Drupal博客)

中的第二个

我的服务器正确地提供了两个URL

example.com/ -> drupal博客

example.com/MassMail ->其他应用程序

但它不适合图像或JavaScript .(错误404)

为了服务img等,我测试了很多类似的东西(例如.):

代码语言:javascript
复制
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
           expires         30d;
            access_log      off;
    }

也许缺少一个根目录,但是哪一个呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-24 09:08:59

您认为安装在/(根)中的MassMail,尝试为staitc文件添加第二个位置:

代码语言:javascript
复制
location ~* ^/MassMail.+.(jpg|jpeg|gif|css|png|js|ico)$ {
           expires         30d;
            access_log      off;
           root /var/www/xxx.com/MassMail;
}

配置#2

代码语言:javascript
复制
location ~* ^/(.*)/.+.(jpg|jpeg|gif|css|png|js|ico)$ {
  expires         30d;
     access_log      off;
   root /var/www/xxx.com/$1;
}

配置#3

将每个应用程序配置放在特殊文件中(例如用于MassMail):

应用程序/Massmail.conf

代码语言:javascript
复制
  location ~ \.php$ {

            set $php_root /var/www/xxx.com/Drupal;

            if ($request_uri ~ ^/MassMail) {
                    set $php_root /var/www/xxx.com/MassMail;
            }

   location ~* ^/MassMail.+.(jpg|jpeg|gif|css|png|js|ico)$ {
           expires         30d;
            access_log      off;
           root /var/www/xxx.com/MassMail;
   }

nginx.conf

代码语言:javascript
复制
.....
include applications/massmail.conf;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11175175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档