nginx rewrite自定义url求解 150

1、实现如下url重写用户请求api.com/user.login?username=123&password=123时,自动重写到api.com/user.php?ac... 1、实现如下url重写
用户请求api.com/user.login?username=123&password=123时,
自动重写到api.com/user.php?act=login&username=123&password=123

2、nginx服务器配置如下,版本1.16.0
server

{
listen 80;
server_name api.com;
index index.html index.htm index.php default.html default.htm default.php;
root /www/api.com/api;

location / {
#rewrite ^/(.*)\.(.*)\?.*$ /$1\.php?act=$2&$query_string break;
#rewrite ^/(.*)\.(.*)\?.*$ /$1\.php?act=$2&$query_string last;
#rewrite (.*)\.(.*)$ $1\.php?act=$2&$query_string break;
#rewrite ^/(.*)\.(.*)$ /$1\.php?act=$2&$query_string break;
#rewrite ^/(.*)\.(.*)$ /$1\.php?act=$2&$query_string last;
#rewrite ^/(.*)\.(.*)$ /$1\.php?act=$2 last;
}

location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}

location ~ /.well-known {
allow all;
}

location ~ /\.
{
deny all;
}
}

2.1、apache下如下写法是可以的

<Directory /www/api.com/api/>

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

Options All -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteBase /
RewriteRule (.*)\.(.*)$ $1\.php?act=$2&%{QUERY_STRING} [L]
ErrorDocument 404 /404.html
</Directory>
3、一直报404错误或者直接提示下载user.login文件
展开
 我来答
程序员的健康生活
2019-08-25 · 超过75用户采纳过TA的回答
知道小有建树答主
回答量:373
采纳率:71%
帮助的人:6.6万
展开全部
你重写规则全被注释,怎么起作用?
没有重写规则是目标地址能正常访问吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式