.htaccess子域重定向到一个特定文件夹 – CakePHP App

我正在尝试为我的应用程序设置子域名,因为我不希望将管理代码混合到与常规用户代码相同的文件夹中.我在
PHPfog服务器上使用Cake
PHP,所以我只能使用.htaccess来创建子域.我已启用通配符子域支持.

这是我的文件夹结构:

app  
app-admin  
cake  
plugins  
vendors  
index.php  
.htaccess  

‘app’文件夹是“普通用户”站点代码所在的位置.当然,“app-admin”文件夹将用于管理员.

我正在尝试获取一个特定的重写规则,将重定向到admin.mydomain.com的任何内容重定向到“app-admin”文件夹.应忽略所有其他子域(发送到’app’文件夹).

CakePHP应用程序中的股票.htaccess文件如下所示:

RewriteEngine on  
RewriteRule    ^$app/webroot/    [L]  
RewriteRule    (.*) app/webroot/$1 [L]  

现在我正在尝试这个没有运气:

RewriteEngine on  
RewriteCond %{HTTP_HOST} ^admin[NC]  
RewriteRule    ^$app-admin/webroot/    [L]  
RewriteCond %{HTTP_HOST} ^admin[NC]  
RewriteRule    (.*) app-admin/webroot/$1 [L] 

RewriteRule    ^$app/webroot/    [L]  
RewriteRule    (.*) app/webroot/$1 [L]  

任何有助于实现这一功能的帮助将不胜感激.

最佳答案 你能把这段代码放在.htaccess中再试一次:

Options +FollowSymlinks -MultiViews
RewriteEngine on  

RewriteCond %{HTTP_HOST} ^admin\. [NC]  
RewriteRule ^(?!app-admin/) app-admin/webroot%{REQUEST_URI} [L,NC]

RewriteRule ^(?!app/) app/webroot%{REQUEST_URI} [L,NC]

另外,请报告更多详细信息,例如哪些URL不起作用.看看的好地方是apache error.log和访问日志.

点赞