2015-12-21 76 views
0

我创建了子域,并且正在使用yii2框架。子域中的.htaccess无法正常工作。Yii2 - subdomain - htaccess不能正常工作

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_URI} ^/(assets|css) 
    RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L] 
    RewriteRule ^css/(.*)$ frontend/web/css/$1 [L] 
    RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/ 
    RewriteCond %{REQUEST_URI} !index.php 
    RewriteCond %{REQUEST_FILENAME} !-f [OR] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^.*$ frontend/web/index.php 
    RewriteCond %{REQUEST_URI} !^public 
    RewriteRule ^(.*)$ frontend/web/$1 [L] 
</IfModule> 
###Deny accessing dot files 
RewriteRule (^\.|/\.) - [F] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

回答

0

也许设置RewriteBase可以解决您的问题。因此,请将您的htaccess更改为此并进行测试:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase /path/to/folder # <- Add this line to your htaccess 
    RewriteCond %{REQUEST_URI} ^/(assets|css) 
    RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L] 
    RewriteRule ^css/(.*)$ frontend/web/css/$1 [L] 
    RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/ 
    RewriteCond %{REQUEST_URI} !index.php 
    RewriteCond %{REQUEST_FILENAME} !-f [OR] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^.*$ frontend/web/index.php 
    RewriteCond %{REQUEST_URI} !^public 
    RewriteRule ^(.*)$ frontend/web/$1 [L] 
</IfModule> 
###Deny accessing dot files 
RewriteRule (^\.|/\.) - [F] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php