Nginx Rewrite 实现匹配泛域名规则

Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor 将源代码以类 BSD 许可证的形式发布 1、为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions).

此例说明:
访问域名: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个例子,因为以后要涉及到很多城市站点,不能一一罗列,所以希望重写的规则能兼容到后期城市的增加

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;
}

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; #获取当前的 域名前缀
}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值