转换的.htaccess到nginx的(mod_rewrite的)(Converting .htac

2019-07-20 02:02发布

我已经得到了我的Apache下.htaccess文件:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks    
# Options +SymLinksIfOwnerMatch
  RewriteEngine On
  RewriteBase /
  RewriteRule ^$          index.php       [L]
  RewriteCond %{REQUEST_FILENAME}         !-f
  RewriteCond %{REQUEST_FILENAME}         !-d
  RewriteRule (.*)        index.php?page=$1  [QSA,L]
</IfModule>

突然间,我不得不改变我的网络服务器nginx的,我不知道为什么,但国防部重写不工作。

我用了一个在线的“转换器”,将其转化,所以我有以下几点:

location / {
  rewrite ^/$ /         index.php       break;
  if ($request_filename ~         !-f){
    rewrite ^(.*)$ /       index.php?page=$1   break;
  }
}

你能帮我出了什么问题?

在此先感谢,马塞尔

Answer 1:

http://blog.martinfjordvald.com/2011/02/nginx-primer-2-from-apache-to-nginx/一切都在里面。 没有更多的.htaccess,没有更复杂的规则使用try_files。

编辑 :如果不是很明显,不信任的在线转换器。



Answer 2:

$ sudo的VIM的/ etc / nginx的/网站可用/默认

  location / {
        try_files $uri $uri/ =404;
    }

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


文章来源: Converting .htaccess to nginx (mod_rewrite)