Nginx支持子目录自动URL重写

在本地开发许多个项目时,有时候我们有很多子目录网站比如127.0.0.1/web1 127.0.0.1/web2 127.0.0.1/web3 这个时候是不支持URL重写的,如果要支持,一般我们需要配置NGXIN虚拟主机,然后用类似这样的重写规则:

index  index.html index.htm index.php l.php;
autoindex  on;
if (!-e $request_filename) {
  rewrite ^(.*)$ /index.php?s=$1 last;
  break;
}

但是为每一个网站都配置一个虚拟主机有些繁琐,尽管有GUI工具可用。

经过不断尝试,用以下正则实现了,子目录自动URL重写。

index  index.html index.htm index.php l.php;
autoindex  on;
location / {
  if (!-e $request_filename) {
	rewrite ^\/([0-9a-zA-Z_-]+\/www|[0-9a-zA-Z_-]+)\/(.*)$   /$1/index.php?s=/$2 last;
	break;
  }
}

此方法适用于ngxin配置文件,phpStudy对应为phpStudy/nginx/conf/nginx.conf

转载于:https://my.oschina.net/u/1021968/blog/2209680

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值