Joh*_*ohn 2 location rewrite nginx query-string winginx
我正在处理多个项目,所以我有多个域:
1. domain1
2. domani2
Run Code Online (Sandbox Code Playgroud)
如何重写例如
domain1/user to domain1/?page=user,
domain2/user to domain2/clientArea/userMain
Run Code Online (Sandbox Code Playgroud)
现在我正在使用:
location /user {
rewrite ^/user$ /?page=user;
}
Run Code Online (Sandbox Code Playgroud)
但它重写了我的所有域名.
PS:我是nginx的新手,我正在使用Winginx本地服务器;
有两种方法可以执行此操作,具体取决于您是否有1个或2个块server(如果您希望2个域之间有很多配置差异使用2,如果2个域的内容大部分使用相同的1)
在2- serverblocks配置的情况下,如下所示:
server {
server_name domain1;
location /user/ { rewrite ^ $scheme://$host/?page=user; }
# add in rest of domain 1 config
}
server {
server_name domain2;
location /user/ { rewrite ^ $scheme://$host/clientArea/userMain; }
# add in the rest of your domain 2 config
Run Code Online (Sandbox Code Playgroud)
}
在单server块的情况下,它看起来像这样:
server {
server_name domain1 domain2;
location /user/ {
if ($host = domain1) { rewrite ^ $scheme://$host/?page=user; }
if ($host = domain2) { rewrite ^ $scheme://$host/clientArea/userMain; }
}
}
Run Code Online (Sandbox Code Playgroud)
注意:你可以使用^ regex作为重写条件,因为location /user/它所在的块已经选择了你要重写的url.这使得它更有效率,因为正则表达式将更快地匹配.
| 归档时间: |
|
| 查看次数: |
8487 次 |
| 最近记录: |