类似域的htaccess重写规则

时间:2016-04-20 11:10:33

标签: php apache .htaccess mod-rewrite

我有一大堆需要指向一台服务器的域名,而且它们都有一个类似的域名,每个域名都在城市中发生变化。

每个城市都位于服务器上的单独文件夹中,例如/ newyork将是“shoppinginnewyork.com”和/ california“shoppingincalifornia.com”

有没有办法可以为任何未来的域设置正则表达式规则,以便它自动获取城市并重定向或重写到新域?他们都将从“购物”开始。

由于

1 个答案:

答案 0 :(得分:1)

您可以在VirtualHost的ServerAlias指令中使用通配符:

查看下面的apache virtualHost配置:

<VirtualHost *:80>

  ServerAlias shoppingin*.com

  DocumentRoot "/sites"

  # Then rewrite subdomains into different directories
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^shoppingin(.*).com$
  # Use the %1 captured from the HTTP_HOST
  # For example shoppinginnewyork.com writes to /sites/newyork
  RewriteRule ^(.*)$ "/sites/%1/$1" [L]
</VirtualHost>

在两个域的本地机器上进行测试。