2011-05-27 47 views
4

我想爲我的應用程序設置一個子域名,因爲我不希望管理代碼與普通用戶代碼混合到相同的文件夾中。我在PHPfog服務器上使用CakePHP,所以我只能使用.htaccess來創建子域。我已啓用通配符子域支持。.htaccess子域重定向到一個特定的文件夾 - CakePHP App

這裏是我的文件夾結構:

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

的「應用程序」文件夾裏的「普通用戶」站點代碼的位置。當然,「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] 

任何幫助,得到這個功能將是不勝感激。

回答

2

你可以把這個代碼在你的.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] 

也請舉報喜歡什麼網址無法正常運作的更多細節。好的地方看看會是apache error.log和訪問日誌。

相關問題