Apache到Nginx的迁移问题


Apache to Nginx migration problems

有人能告诉我如何将这些规则从apache重写到nginx吗?

我试过很多在线转换器,但都不起作用。

/酒店/.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule    ^$    resources/    [L]
 RewriteRule    (.*) resources/$1    [L]
</IfModule>

/酒店/资源/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L,QSA]
</IfModule>

/酒店/resources/index.php

  if (!empty($_GET['url'])) {
    $GLOBALS['url'] = $_GET['url'];
   }
   require_once(PROJECT_ROOT . DS . 'config' . DS . 'config.inc.php');
   require_once(ROOT . DS . 'hvtengine' . DS . 'library' . DS . 'engine.inc.php');

我试过:

location / {        
    rewrite ^/$ /resources/ last;
    rewrite /^(.*)$ /resources/$1 last;
    # try_files $uri $uri/ /index.php;
    # Uncomment to enable naxsi on this location
    # include /etc/nginx/naxsi.rules
}
location /resources/ {
    if (!-e $request_filename){
    rewrite ^(.*)$ index.php?url=$1 break;
    }
}

由于所有请求都被重写为/resources/,我认为根本没有理由进行重写。让它成为服务器的root即可。

server {
    root /hotels/resources/;
    location / {
        try_files $uri /index.php?url=$uri;
    }
    location ~ '.php$ {
        # ... php stuff
    }
}