.htacces到Nginx重写规则

时间:2019-09-07 13:19:40

标签: .htaccess nginx url-rewriting

对于此.htaccess重写规则,我需要一些转换到nginx的帮助。

RewriteEngine On Options +FollowSymLinks Options -Indexes RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule . index.php [L,QSA]

1 个答案:

答案 0 :(得分:0)

您的.htaccess是标准的前端控制器模式,例如您只有一个引导PHP文件,可以处理对SEO友好URL的请求。

在NGINX中,标准做法是对该模式使用try_files指令,如下所示:

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

以上对应于您配置的最后3行:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . index.php [L,QSA]

最上面的行不需要转换为NGINX,因为它们已经是NGINX中的默认行:

  • 已启用重写模块
  • 遵循符号链接
  • 目录列表已关闭