服务器由apache改成nginx,配置怎么改?

Lucilfer2019-02-18 13:23:36

项目结构

project
    ct/         #子项目
    admin/      #子项目
        .htaccess
        index.php
        ...
    evox/       #子项目
    .htaccess 
    ...         #没有index.php文件(接手过来的项目结构就是这样?)

/project/.htaccess

RewriteEngine on
RewriteCond $1 !^(admin|qheWnDzkM3.txt|MP_verify_xhabUbpu9ocbxDrr.txt|tGFGfm37d7.txt|1dDd1ky7Uq.txt|ops|ct|evo|example|assets|debug|fraserapp|abbyy|signatures|asiamallsapp|receipts|s|api|edm|vendor)
RewriteRule ^(.*)$ admin/index.php/$1 [L]

/project/admin/.htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|assets|(index\.0/assets))
RewriteRule ^(.*)$ index.php/$1 [L]

如何实现把apache配置改成nginx的配置?

2 回复 | 截止 2019-05-25 23:48:21

Lucilfer    2019-02-18 13:28:31

我尝试改成这样,但是不是500就是403

```
server {
listen 80;
server_name test.me;
root /var/www/html/project;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /admin/index.php?$args;
}

location /admin/ {
try_files $uri $uri/ /admin/index.php?$args;
}

...

}
```

1 楼

CroWall    2019-02-19 09:58:17

配置转换试试这个工具 http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

然后要注意的是,在Nginx里的location 配置,可以看看网上的文章比如 https://blog.csdn.net/tjcyjd/article/details/50897959
貌似有匹配优先级什么的

2 楼

Top ↑