Apache-2.2

Apache mod_rewrite 到 Nginx 重寫

  • October 25, 2014

我有一個帶有 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?

文件

/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

引用自:https://serverfault.com/questions/639460