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

时间:2015-01-12 06:57:21

标签: php .htaccess cakephp mod-rewrite cakephp-2.0

在bluehost服务器上设置CakePHP时,我遇到了无限重定向循环。

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

  1. 在/ home / mysite / public_html / site2下(我已经配置了一个附加域,其中site2作为BlueHost上的服务目录) <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule>
  2. 在/ home / mysite / public_html / site2 / app下, <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [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>
  4. 如果我从webroot下的.htaccess中删除了两个RewriteCond,那么Cake控制器就会开始工作,但我看不到任何图像或CSS。我不知道我哪里出错了。

1 个答案:

答案 0 :(得分:2)

在root中创建一个与

相同的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/$1 [L]
</IfModule>`

并且site2文件夹中的htacess必须

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