类似域的htaccess重写规则


htaccess rewrite rule for similar domains

我有一大堆域需要指向一台服务器,它们都有一个相似的域,每个域上的城市都会发生变化。

每个城市都在服务器上的一个单独的文件夹中,因此例如/newyork将是"shoppinginnewyork.com"和/california"shoppigincalifornia.com"

有没有一种方法可以让我为任何未来的域设置regex规则,这样它就会自动选择城市并重定向或重写到新的域?他们都会从"购物"开始。。

感谢

您可以在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>

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