web-dev-qa-db-ja.com

Drupal nginxサブディレクトリへのインストール

2つのフレームワークで構成される新しいアプリケーションがありますyii and drupal 7

Yiiフレームワークはルート(/)にあります

およびdrupalは、admin(/ admin)というサブディレクトリにあります

Nginxで設定する方法に問題があります。drupalが機能せず、アクセスが拒否されます。または、ホームページだけでリンクが機能しません。

これはnginxの私の設定ファイルです

server {
        listen 80;
        server_name demo.example.com;
        root /home/www/example;
        index /index.php;


        location / {
                if (!-f $request_filename) {
                        rewrite ^(.*)$ /index.php?q=$1 last;
                        break;
                }
        }
        location /admin {
                root /home/www/example/admin;
                index  index.php index.html;
                try_files $uri $uri/ @rewrite;
        }
        location @rewrite {
                rewrite ^/(.*)$ /admin/index.php?q=$2 last;
        }
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
                index /index.php;

        }
         location ~ /\.ht {
                deny  all;
        }

}
2
Ahmed

同様のシナリオがありましたが、私の場合、location /adminで行うようにDrupalインストールのルートフォルダーを再度定義する必要はありませんでした。

私の場合、Drupalパスのnginxディレクティブを追加するだけで済みました:

location /admin {
    try_files $uri $uri/ @rewrite;
}   


location @rewrite {
    rewrite ^ /admin/index.php;
}
2
gerzenstl