在我们部署项目时经常需要用Nginx,同时需要支持url重写,还得安装一个phpmyadmin,这时候问题就来了。如何让phpmyadmin不在web根目录下?以下是配置文件样例:
server
{
listen 80;
server_name dmis.sangou.net;
index index.html index.htm index.php;
root /opt/www/dmis/;
location /phpmyadmin {
root /opt/www/;
index index.php;
}
location ~ ^/phpmyadmin/.*\.(php|php5)$ {
root /opt/www/;
fastcgi_pass unix:/tmp/php-cgi.sock;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $document_root/phpmyadmin;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
set $path_info $request_uri;
if ($request_uri ~ "^(.*)(\?.*)$") {
set $path_info $1;
}
fastcgi_param PATH_INFO $path_info;
}
location / {
if (!-e $request_filename){
rewrite (.*) /index.php last;
}
}
location ~ .*\.php?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
include fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
set $path_info $request_uri;
if ($request_uri ~ "^(.*)(\?.*)$") {
set $path_info $1;
}
fastcgi_param PATH_INFO $path_info;
}
#error_page 404 = /404.gif;
}
可以看到里面Phpmyadmin虚拟目录的设置,其顺序是很有讲究的。然后就是支持 yii 的url 重写规则,我们将其用 location / 进行限定。
接下来你登录pma,会发现被重定向到了根目录,这是怎么回事?经过一番查找,发现pma中有个设置 $cfg['PmaAbsoluteUri'] = ''; 默认是自动探测的,这里就有问题了。但修改这个没有用。我们就来硬的把,直接修改程序文件 libraries/auth/cookie.auth.lib.php, 找到:
// URL where to go:
$redirect_url = $cfg['PmaAbsoluteUri'] . 'index.php';
修改为
// URL where to go:
$redirect_url = '/phpmyadmin/index.php';
搞定。
分享到:
相关推荐
nginx运行配置laravel框架虚拟主机
主要介绍了nginx配置基于域名的虚拟主机实现​,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
centos7配置nginx虚拟主机
nginx配置服务器多虚拟主机,包含静态网站主机、核心web网站主机、业务性附属网站主机。
nginx虚拟主机配置及详细讲解介绍。。。。。。。
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置。本文主要介绍了基于域名的实现,感兴趣的小伙伴们可以参考一下
网络上很难找到非常详细的...本文档通过真实的实践经验,从安装OpenSSL和Nginx,到利用openssl生成证书,配置nginx的https(包括配置http请求转发到https)等,详细总结出nginx配置https的步骤,最终能帮助你配置成功。
5.3. 规划虚拟主机的配置文件 6. 动静分离 7. nginx的反向代理 7.1. 什么是反向代理 7.2. 明确两个概念 7.3. 特点 7.4. 反向代理的配置 7.5. 可以将代理配置单独放在一个配置文件中 8. nginx的负载均衡(自学...
Nginx配置文件 nginx.conf 详解doc文档
Nginx 虚拟主机 VirtualHost 配置
主要介绍了nginx配置多个虚拟主机vhost的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
import pickle import os filename=os.path.abspath(__file__) dirname=os.path.dirname(filename) info_path=dirname+os.sep+'user.info' def write_balance(data): f=open(info_path,'wb') ...
nginx配置 +负载均衡+https协议 完整的配置以及nginx 启动 停止 重新加载
nginx配置+https
Nginx配置多个service 多个访问路径 找到conf/nginx.conf修改配置文件 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid ...
nginx.conf nginx-1.20.1.tar.gz 这是关于centos8的nginx 和nginx 的配置https文件
nginx配置 nginx配置文件参考 nginx配置文件参考
nginx配置多个conf。nginx.conf和conf.d,
对于Nginx而言,每一个虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。这篇文章主要介绍了Nginx虚拟主机的相关知识,需要的...
Nginx部署-虚拟主机配置.docx