nginx根指向错误的文件夹
Posted
技术标签:
【中文标题】nginx根指向错误的文件夹【英文标题】:nginx root points to wrong folder 【发布时间】:2012-05-28 03:08:18 【问题描述】:不认为这是一个复杂的问题,但我没有解决它。
我很乐意将 www.mydomain.com/phpMyAdmin/ 指向 /var/www/phpMyAdmin/htdocs/
我这样做了:
server
listen 80;
server_name localhost;
location /phpMyAdmin
root /var/www/phpMyAdmin/htdocs/;
index index.php;
#access_log /var/www/phpMyAdmin/logs/access.log;
#error_log /var/www/phpMyAdmin/logs/error.log;
location ~ \.php$
include fastcgi_params;
try_files $uri =404;
fastcgi_pass unix:/var/www/sockets/www.socket;
但是调用 www.mydomain.com/phpMyAdmin 时的结果是它试图调用
/var/www/phpMyAdmin/htdocs/phpMyAdmin/index.php
谁能帮帮我?
【问题讨论】:
只是好奇,server_name 不应该是 www.mydomain.com 而不是 localhost 不一定——它是 nginx 默认值——我仅将其用于测试目的。该服务器目前没有名称 - 将作为快速部署的主映像。 感谢 Pascal,只是为了我的理解而澄清 我认为您还需要将位置 /phpMyAdmin 更改为位置 /phpMyAdmin/ 【参考方案1】:这很容易。
Nginx 将位置的$uri
附加到root
指令($document_root
变量)。
您可以改用alias
指令:
location /phpMyAdmin
index index.php;
alias /var/www/phpMyAdmin/htdocs/;
access_log /var/www/phpMyAdmin/logs/access.log;
error_log /var/www/phpMyAdmin/logs/error.log;
但是,phpMyAdmin 将不起作用,因为它不是静态文件。
我相信,您需要在 /phpmyadmin 中指定 php 的位置:
location ~ /phpMyAdmin/\.php$
【讨论】:
以上是关于nginx根指向错误的文件夹的主要内容,如果未能解决你的问题,请参考以下文章