我的Nginx conf文件:
location / { try_files $uri $uri/ /index.php?url=$uri; } ## PHP conf in case it's relevant location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include /etc/nginx/fastcgi.conf; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
尝试以下url: http://example.org/login
: http://example.org/login
:
预期的行为:
http://example.org/index.php?url=login
实际行为:
http://example.org/index.php?url=/login
使用一个命名的位置和一个内部重写。 例如:
location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php?url=$1 last; }
请参阅此文档了解更多