mod_rewrite CakePHP 设置(共享托管两个域)

mod_rewrite setting for CakePHP (shared hosting two domains)

在 bluehost 服务器上设置 CakePHP 时,我 运行 陷入无限重定向循环。

我已将我的 .htaccess 设置如下,

  1. 在/home/mysite/public_html/site2下(我在BlueHost上配置了一个以site2作为服务目录的附加域) <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/ [L] </IfModule>
  2. 在 /home/mysite/public_html/site2/app 作为下, <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/ [L] </IfModule>
  3. 最后在 /home/mysite/public_html/site2/app/webroot 作为, <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

如果我从 webroot 下的 .htaccess 中删除两个 RewriteCond,Cake 控制器开始工作,但我没有看到任何图像或 CSS。我不确定我哪里出错了。

在根目录中创建一个 htaccess 与

相同
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site2\.tld[NC]
RewriteRule    ^$ site2/app/webroot/    [L]
RewriteCond %{HTTP_HOST} ^site2\.tld[NC]
RewriteRule    (.*) site2/app/webroot/ [L]
</IfModule>`

并且 site2 文件夹中的 htacess 必须是

重写引擎开启 重写规则 ^$ app/webroot/ [L] 重写规则 (.*) app/webroot/$1 [L]