在SO中嘗試了很多示例,但似乎沒有任何效果。我考慮設立:將子域重定向到包含CakePHP應用程序的main文件夾中
/public_html/
/app/
/cgi-bin/
/lib/
/plugins/
/revamp/
/vendors/
我現在有一個CakePHP的網站site.com
有/app/
文件夾下它的文件,我現在使用權的.htaccess看起來是這樣的:
<IfModule mod_rewrite.c>
RewriteEngine on
ReWriteRule ^$ app/webroot/ [L]
ReWriteRule (.*) app/webroot/$1 [L]
</IfModule>
我想重定向子域revamp.site.com
到文件夾/revamp/
這將是另一個cakephp網站。
更新1:
被要求創建一個虛擬主機和我一樣,它被設置爲子域文件夾,幫助我要的是一個htaccess的規則,兩個工作,一個在上面,也重定向到子域如果請求的地址有域之前,它的子域...
更新2:
以下.htaccess
讓我到我的子域,但只能中的index.html
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site\.com$
RewriteRule (.*) app/webroot/$1 [L]
RewriteCond %{HTTP_HOST} ^revamp\.site\.com$
RewriteRule (.*) revamp/index.html [L]
</IfModule>
它是兩個答案的混合...儘管無論我將哪個路徑放在子域中,它只會讓我到index.html(因爲它在htaccess中是硬編碼的)。也試過revamp/$
和revamp/$1
沒有運氣。
更新3:
試圖與第一個答案的編輯:
<IfModule mod_rewrite.c>
RewriteEngine on
#subdomain simple site
RewriteCond %{HTTP_HOST} ^subdomain\.test\.com$
RewriteCond %{REQUEST_URI} !^/subdomain
RewriteRule ^(.*)$ subdomain/$1 [L]
#cakephp site
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
仍給500,我也試過兩個塊的開關位置
更新4:
WORKING解決方案,在/public_html/app
和/public_html/revamp/app
之間都有cakephp網站
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^revamp\.site\.com$
RewriteRule ^(.*)$ revamp/app/webroot/$1 [NC,L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [NC,L]
</IfModule>
您使用的共享主機? –
設置另一個VirtualHost進行修改並將DocumentRoot設置爲/修復 – user2182349
@DavidAguilar我正在使用VPS yes – nullwriter