htaccess中的RewriteEngine在特定目录下不起作用

时间:2018-10-10 06:03:13

标签: .htaccess yii2 yii2-advanced-app

我使用yii2,并且在.htaccess中遇到如下问题:

我无法访问js目录来使用代码中的文件。

例如:yii2/sepadmin/js/jquery.min.js net::ERR_ABORTED 404 (Not Found)

这是我的.htaccess

RewriteEngine On

# deal with sepadmin first
RewriteCond %{REQUEST_URI} ^/yii2/(sepadmin)
RewriteRule ^sepadmin/assets/(.*)$ backend/web/assets/$1 [L]

RewriteRule ^sepadmin/css/(.*)$ backend/web/css/$1 [L] #Accessible
RewriteRule ^sepadmin/js/(.*)$ backend/web/js/$1 [L] # Not Accessible

RewriteCond %{REQUEST_URI} !^/yii2/backend/web/(assets|css)/
RewriteCond %{REQUEST_URI} ^/yii2/(sepadmin)
RewriteRule ^.*$ backend/web/index.php [L]

正如我所说的那样,我可以访问css目录,但是不能访问js目录

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我不得不在REQUEST_URI中使用目录名作为波纹管。

RewriteEngine On

# deal with sepadmin first
RewriteCond %{REQUEST_URI} ^/yii2/(sepadmin)
RewriteRule ^sepadmin/assets/(.*)$ backend/web/assets/$1 [L]
RewriteRule ^sepadmin/css/(.*)$ backend/web/css/$1 [L]
RewriteRule ^sepadmin/js/(.*)$ backend/web/js/$1 [L]
RewriteRule ^sepadmin/files/(.*)$ backend/web/files/$1 [L]


RewriteCond %{REQUEST_URI} !^/yii2/backend/web/(assets|css|js|files)/
RewriteCond %{REQUEST_URI} ^/yii2/(sepadmin)
RewriteRule ^.*$ backend/web/index.php [L]