nginx の alias指定で phpMyAdmin に接続する時の File Not Found エラーの解消法


CakePHP を動作させる際に phpMyAdmin を設定する際のことに関して質問です。

環境：

  * CentOS6
  * PHP 5.5
  * CakePHP 2.6.0

でやっています。

[code]

    /var/www/phpmyadmin/
    
[/code]

に alias 指定でアクセスさせるために質問後半に示すような設定ファイルを書いた結果

[code]

    http://localhost/phpmyadmin/
    
[/code]

でアクセスすることはできたんですが、

[code]

    File not Found
    
[/code]

が出てしまいます…  
読み込ませるにはどうすればいいでしょうか？

以下 `/etc/nginx/conf.d/default.conf` に記載した設定

[code]

    server {
        listen 80;
        server_name localhost;
    
        #中略
        location /phpmyadmin {
             alias /var/www/phpmyadmin;
             index index.php;
    
             location ~ \.php$ {
                      root /var/www/phpmyadmin;
                      fastcgi_pass 127.0.0.1:9000;
                      fastcgi_index index.php;
                      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                      include fastcgi_params;
             }
        }
    
        #中略
    
        #CakePHPのURLリライティング設定
        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;
        }
    }
    
[/code]




CakePHPとphpMyAdiminをバーチャルホストで分離してみました。CakePHPを`http://localhost/`で、phpMyAdminを`http://localhost:8080`でアクセスできるようにしています。

[code]

    # phpMyAdmin
    server {
        listen 8080;
        server_name localhost;
    
        root   /var/www/phpmyadmin;
    
        location / {
            index index.php index.html;
        }
    
        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;
        }
    }
    
    # CakePHP
    server {
        listen 80;
        server_name localhost;
    
        root   /var/www/html/cakephp/webroot/;
        index index.php;
    
        location / {
            try_files $uri $uri/ /index.php?$uri&$args;
        }
    
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    
[/code]

## 動作確認

  * nginx 1.6.2
  * CakePHP 2.6.0
  * phpMyAdmin 4.3.4

## 参考URL

[CakePHP Cookbook 2.x ドキュメント -
nginxでのきれいなURL](http://book.cakephp.org/2.0/ja/installation/url-
rewriting.html#nginxurl)




CakePHPとphpMyAdiminをバーチャルホストで分離してみました。CakePHPを`http://localhost/`で、phpMyAdminを`http://localhost:8080`でアクセスできるようにしています。

[code]

    # phpMyAdmin
    server {
        listen 8080;
        server_name localhost;
    
        root   /var/www/phpmyadmin;
    
        location / {
            index index.php index.html;
        }
    
        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;
        }
    }
    
    # CakePHP
    server {
        listen 80;
        server_name localhost;
    
        root   /var/www/html/cakephp/webroot/;
        index index.php;
    
        location / {
            try_files $uri $uri/ /index.php?$uri&$args;
        }
    
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    
[/code]

## 動作確認

  * nginx 1.6.2
  * CakePHP 2.6.0
  * phpMyAdmin 4.3.4

## 参考URL

[CakePHP Cookbook 2.x ドキュメント -
nginxでのきれいなURL](http://book.cakephp.org/2.0/ja/installation/url-
rewriting.html#nginxurl)

