phpmyadminをサブディレクトリで運用できない
やりたいことは
http://www.example.com/phpmyadmin にアクセスすると
/usr/share/phpMyAdmin にアクセスしてPHPを実行出来る様にする事です。
環境
NGINX1.8
PHP5.4
/opt/nginx/conf/nginx.conf
location ^~ /phpmyadmin {
rewrite_log on;
error_log /opt/nginx/logs/phpmyadmin_error.log notice;
root /usr/share/phpMyAdmin;
rewrite ^/phpmyadmin/(.*)$ /$1 break;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$fastcgi_script_name;
include fastcgi_params;
}
}
/opt/nginx/logs/phpmyadmin_error.log
2015/05/11 11:20:30 [error] 51293#0: *1 access forbidden by rule, client: XXX.XXX.XXX.XXX, server: www.example.com, request: "GET /phpmyadmin/index.php HTTP/1.1", host: "www.example.com"
もう3日悩んでいます。回答でなくてもヒントでもいいのでお願いします。
アドバイスいただいた件も含めて修正しました。
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
alias /usr/share/phpMyAdmin/$1;
}
location ~* ^/phpmyadmin/(.+\.php)$ {
alias /usr/share/phpMyAdmin/$1;
index index.php
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
これでエラーはでなくなりましたがphpが実行されずにダウンロードされます。