Nginx URL重写-从地址栏/管理/登录后删除

Nginx URL重写-从地址栏/管理/登录后删除,nginx,Nginx,登录后端www.domain.com/administration/index.php后,如何从地址栏中删除? 因此,我登录后的url如下所示: www.domain.com/index.php 我的配置: server { server_name domain.com; return 301 $scheme://www.domain.com$request_uri; } server { listen 80; root /usr/share/nginx/www

登录后端www.domain.com/administration/index.php后,如何从地址栏中删除? 因此,我登录后的url如下所示:

www.domain.com/index.php

我的配置:

server {
    server_name domain.com;
    return 301 $scheme://www.domain.com$request_uri;
}

server {
    listen 80;
    root /usr/share/nginx/www;
    index index.php;
    server_name www.domain.com;



    location / {
        rewrite ^([^\.]*)$ /$1.php;
    }

    location = / {
        rewrite ^ /index.php;
    }


    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    location ~ /\.ht {
            deny all;
    }
}

您可以设置任意cookie(比如“logged_admin=1”),然后在
location/
块中检查该cookie,如下所示

location / {
  if ($http_cookie ~ 'logged_admin=1;?') {
    rewrite ^/([^\.]*)$ /administration/$1.php last;
  }

  rewrite ^([^\.]*)$ /$1.php;
}

我应该说,您应该改进if块中的正则表达式,以处理一些边缘情况,如以管理员身份登录时访问
/administration/xyz.php
,等等。

esra2