2013-04-12 49 views
3

我有我的phpmyadmin设置为这样nginx的变化phpmyadmin的文件夹名称更改错误

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; 
     } 

我期待更改文件夹名称,这样我可以通过访问的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没有发现,任何帮助,将appretiated家伙感谢

+0

这个配置将寻求在/ usr /共享/安全的要求。 –

+0

那我该如何改变它的伴侣? – Anup

+0

我从来没有真正尝试过。一个简单但不干净的可能性是将/ usr/share/secure链接到/ usr/share/phpmyadmin - 但是有更好的解决方案,所以我不会将其作为回答。你可以阅读nginx文档。 –

回答

1

您需要在这种情况下使用alias

location /secure/ { 
      alias /usr/share/phpmyadmin/; 

通过上面的设置所有/secure/的请求将被降至/usr/share/phpmyadmin/

+0

不工作仍然 – Anup

2

这样的事情应该工作。

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; 
    } 
} 
+0

不断重定向我的登录页面 – Anup

2

以下工程和测试

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_params但是,当它下面像一个变量魅力 改变在这两个地方成为任何“PMA”到u希望它会工作......没有必要符号链接

欢呼

2

试试这个:

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; 
    } 
} 
相关问题