我试图让 example.com/phpmyadmin 从我的站点路由到不同的目录,这样我就可以为我的所有站点使用一个通用的 phpmyadmin 安装。我试过这个:
server {
listen 80;
server_name example.com;
location / {
root /home/web/example.com/public_html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /home/web/example.com/public_html;
if ($request_uri ~* /phpmyadmin) {
root /home/web/phpmyadmin;
}
try_files $uri =404;
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
这似乎根本不起作用。
我也试过这个:
server {
listen 80;
server_name example.com;
location / {
root /home/web/example.com/public_html;
index index.html index.htm index.php;
}
location /phpmyadmin {
root /home/web/phpmyadmin;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /home/web/example.com/public_html;
try_files $uri =404;
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
当我用这个文件检查我的错误日志后,我得到:
2013/06/28 01:10:47 [error] 7068#0: *1 "/home/web/phpmyadmin/phpmyadmin/index.html" is not found (2: No such file or directory)
因此,在 location 块中,我将 root 更改为 /home/web,认为它会删除额外的 phpmyadmin,但是,相反,我在错误日志中根本没有得到任何关于 phpmyadmin 的信息。我似乎无法弄清楚正确的配置以及为什么这个配置不起作用。有任何想法吗?