nginx更改phpmyadmin文件夹名称更改错误
我有我的phpmyadmin设置nginx更改phpmyadmin文件夹名称更改错误,php,apache,configuration,nginx,Php,Apache,Configuration,Nginx,我有我的phpmyadmin设置 location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root
location /phpmyadmin {
root /usr/share/;
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;
}
我希望更改文件夹名称,以便可以通过/secure访问phpmyadmin
location /secure {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/secure/(.+\.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 ~* ^/secure/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
但是它一直给我404找不到,任何帮助都会被感谢的。谢谢你在这种情况下需要使用别名
location /secure/ {
alias /usr/share/phpmyadmin/;
通过以上设置,对
/secure/
的所有请求将被删除到/usr/share/phpmyadmin/
类似的内容应该可以工作
location /secure/ {
alias /usr/share/phpmyadmin/;
location ~ ^/secure/(.+\.php)$ {
alias /usr/share/phpmyadmin/$1;
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 /pma/ {
alias /usr/share/phpmyadmin/;
}
location ~ ^/pma/(.+\.php)$ {
alias /usr/share/phpmyadmin/$1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
# From fastcgi_params
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT /usr/share/phpmyadmin;
}
关键是设置以下参数
fastcgi_param DOCUMENT_ROOT /usr/share/phpmyadmin;
这是一个在fastcgi_参数中获得se的变量,但当它位于下面时,它就像一个符咒
将两个位置的“pma”更改为您想要的任何内容,它就会工作……无需sym链接
干杯试试这个:
location /secure {
alias /usr/share/phpmyadmin;
index index.php index.html index.htm;
location ~ ^/secure/(.+\.php)$ {
alias /usr/share/phpmyadmin/$1;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$1;
fastcgi_pass php;
}
location ~* ^/secure/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
alias /usr/share/phpmyadmin/$1;
}
}
此配置将根据请求查找/usr/share/secure。那么我应该如何更改它,mate?我从未真正尝试过。一个简单(但不干净)的可能性是将/usr/share/secure符号链接到/usr/share/phpmyadmin——但有更好的解决方案,所以我不会将此作为答案发布。您可以阅读nginx文档。您可以发布一个更好的解决方案,并将我重定向到登录页面吗