Nginx URL重写-从地址栏/管理/登录后删除
登录后端www.domain.com/administration/index.php后,如何从地址栏中删除? 因此,我登录后的url如下所示: www.domain.com/index.php 我的配置: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
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