Nginx Rewrite 實現匹配泛域名規則

Nginx 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。 Igor 將源代碼以類 BSD 許可證的形式發佈 一、爲了確保能在 Nginx 中使用正則表達式進行更靈活的配置,安裝以前須要肯定系統是否安裝有 PCRE(Perl Compatible Regular Expressions).php

此例說明:
訪問域名:http://sanya.ahunsha.com rewrite: http://www.ahunsha.com/muban1.php?ename=sanya
http://shanghai.ahunsha.com rewrite: http://www.ahunsha.com/muban1.php?ename=shanghai
此處只是舉2個例子,由於之後要涉及到不少城市站點,不能一一羅列,因此但願重寫的規則能兼容到後期城市的增長css

server {
listen 80;
server_name *.ahunsha.com;
index index.html index.htm index.php;
root /alidata/www/ahunsha;

location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}html

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}正則表達式

rewrite_log on;
error_log logs/rewrite.error.log notice;服務器

# 泛域名開始配置
if ( $host ~* (.*)\.(.*)\.(.*) ) {
set $domain $1; #獲取當前的 域名前綴
}dom

if ( $domain !~* ^www$ ) {
rewrite ^/$ /muban1.php?ename=$domain last;
}
}性能

相關文章
相關標籤/搜索