如何在登录后台www.domain.com / administration / index.php后从我的地址栏中删除? 所以登录后我的网址就像:
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;
}
}
答案 0 :(得分:1)
你可以设置一个任意的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
等等。