我可以访问 localhost/phpmyadmin,但无法访问 www.project.com/phpmyadmin。'www.project.com' 是我的虚拟服务器。尝试访问 www.project.com/phpmyadmin 时,出现 404 错误。我在虚拟服务器的根目录中创建了 phpmyadmin 文件夹的符号链接。
我已经提到了 /etc/nginx/sites-available/project.com 上 /phpmyadmin 的位置。'project.com' 是 nginx 用于添加虚拟服务器的配置文件。
这是 project.com 的代码
server {
listen *:80;
listen [::]:80;
root /home/dell/Projects/site/project;
index index.php index.html index.htm;
server_name www.project.*;
access_log /home/dell/Projects/site/project/logs/access.log;
error_log /home/dell/Projects/site/project/logs/error.log;
location /phpmyadmin {
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html{}
location ~ \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
这是 /etc/hosts 文件的配置
127.0.0.1 localhost
127.0.1.1 dell-Inspiron-5423
127.0.1.1 www.project.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
我用的是ubuntu14.04版本。
我需要配置 config.inc.php 吗?我也查看了其他类似的帖子,但没有帮助。
答案1
如果您使用位置内的位置,则不需要完整的 URL。有关此内容的更多信息这里。
下面的配置可能不是最优的(您是否需要因为某种原因只允许列出的扩展?),但它应该可以工作。
请注意,您的 phpmyadmin 必须位于usr/share/phpmyadmin
文件夹中,php 才能工作(因为如果您使用,则$document_root
引用root /usr/share;
和不会自动工作alias
。
location /phpmyadmin {
index index.php index.html index.htm;
root /usr/share/;
location ~ \.php$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}