我几个小时前就已经开始工作了,但是我似乎无法让所有的mod重写内容适合Zend。
鉴于此目录结构:
/home/branches/branch1/public/index.php
/home/branches/branch2/public/index.php
/home/branches/branch3/public/index.php
我如何才能这样访问:
branch1.branch.example.com
branch2.branch.example.com
branch3.branch.example.com
无需在每个分支中进行硬编码?
这是我的起点(source),(我现在甚至无法让它工作,但我发誓今天早上工作了,哈哈!)。
ServerAlias *.branch.example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} .* [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.branch\.example\.com
RewriteCond /home/branches/%1/public
RewriteRule ^(.*) /%1/$1 [L]
(旁注:我实际上正在使用一个巨大的代码库,使用旧版的ZF,它使用/www/errors.php作为引导而不是/public/index.php,(甚至可能需要一些不同的重写)规则比当前版本)但我修改了上面的代码以适应当前的ZF设置)
答案 0 :(得分:1)
您是否配置了通配符子域(用于路由目的)?除非你这样做,否则它将不起作用。
我也认为这条线不起作用:
RewriteCond /home/branches/%1/public
我认为你的最后一行必须是这样的:
RewriteRule ^(.*)$ /home/branches/%1/public/$1 [L]