Apache mod_rewrite 到 Nginx 重写

Apache mod_rewrite 到 Nginx 重写

我有一个带有 whm/cpanel 的虚拟专用服务器。我安装了 nginx_admin 插件。该插件已创建虚拟主机文件(example.com、*.example.com 和 manage.example.com)

在我的旧 Apache 配置文件中

    <IfModule mod_rewrite.c>
          Options +FollowSymLinks
          Options +Indexes
          RewriteEngine On
          RewriteCond %{HTTP_HOST} ([^.]+)\.example.com [NC]
          RewriteRule ^(.*)$ http://www.example.com/index.php?page=store&storeid=%1&subdomain=$1 [P]
    </IfModule>

我该如何配置 nginx 来实现这个重写条件和规则?

答案1

文件

/etc/nginx/vhosts/*.example.com

在该代码之后

server_name *.ilanimo.com;

添加此代码

if ($host ~* (.*)\.example\.com) {
    set $sub $1;
    rewrite ^(.*)$ /index.php?page=store&storeid=$sub&subdomain=$1 break;
}

重启 nginx

/etc/init.d/nginx restart

相关内容