关于.htaccess子域重定向到一个特定的文件夹:.htaccess子域重定向到一个特定的文件夹-CakePHP App

.htaccess subdomain redirect to one specific folder - CakePHP App

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

这是我的文件夹结构:

1
2
3
4
5
6
7
app  
app-admin  
cake  
plugins  
vendors  
index.php  
.htaccess

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

我正在尝试获取一条特定的重写规则,该规则会将所有要重定向到admin.mydomain.com的内容重定向到" app-admin"文件夹。其他所有子域均应忽略(发送到" app"文件夹)。

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

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

现在我正在试试运气:

1
2
3
4
5
6
7
8
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中,然后重试:

1
2
3
4
5
6
7
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和访问日志。