【发布时间】:2014-04-01 08:39:07
【问题描述】:
我一直在为一个项目使用 Apache,由于项目已经发展了很多,现在出于性能原因决定转换为 nginx。
对于这个项目,我们通过 HTTPS 为我们的基本域和 www 子域提供服务,但需要通过 HTTP 为所有其他子域提供服务。
在 Apache 中,我能够通过 RewriteEngine 执行以下操作来完成此操作:
RewriteEngine On
#Redirect domain and www to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} =mydomain.com [OR]
RewriteCond %{HTTP_HOST} =www.mydomain.com
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#Redirect wildcard subdomains to HTTP
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com [NC]
RewriteCond %{HTTP_HOST} !=www.mydomain.com
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我的网站大约使用 nginx 设置了一半,而这部分配置让我很难过。如何将其转换为与 nginx 一起使用?
【问题讨论】:
标签: apache nginx url-rewriting