【发布时间】:2019-07-04 09:42:45
【问题描述】:
我真的不擅长 htaccess 设置,希望得到一些帮助。我在子文件夹中有一个项目,可以像这样打开:www.mydomain.com/subfolder/。我把我的项目放在“子文件夹”中。 “子文件夹”不是子域,我只是在根文件夹中创建了一个新文件夹。
我可以打开主页,但所有其他页面,如 www.mydomain.com/subfolder/about、www.mydomain.com/subfolder/product 都有 500 内部服务器错误页面。我也无法访问上传文件夹中的上传文件,所以像 www.domain.com/subfolder/uploads/filename.jpg 这样的 URL 将返回错误 404。我很确定没有 php 错误,因为我也上传了它我的另一个子域(不同的域),它工作正常。
这是我的 htaccess 设置:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI} /(backend)
RewriteRule ^backend/assets/(.*)$ backend/web/assets/$1 [L]
RewriteRule ^backend/css/(.*)$ backend/web/css/$1 [L]
RewriteRule ^backend/font/(.*)$ backend/web/font/$1 [L]
RewriteRule ^backend/plugins/(.*)$ backend/web/plugins/$1 [L]
RewriteRule ^backend/images/(.*)$ backend/web/images/$1 [L]
RewriteRule ^backend/js/(.*)$ backend/web/js/$1 [L]
RewriteCond %{REQUEST_URI} !/backend/web/(assets|css|font|plugins|images|js)/
RewriteCond %{REQUEST_URI} /(backend)
RewriteRule ^.*$ backend/web/index.php [L]
RewriteCond %{REQUEST_URI} /(assets|css|js|img|fonts|uploads)
RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
RewriteRule ^img/(.*)$ frontend/web/img/$1 [L]
RewriteRule ^fonts/(.*)$ frontend/web/fonts/$1 [L]
RewriteRule ^uploads/(.*)$ uploads/$1 [L]
RewriteCond %{REQUEST_URI} !/(frontend|backend)/web/(assets|css|js|img|images|fonts|uploads|plugins|font)/
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ frontend/web/index.php
有人可以帮我吗?
【问题讨论】:
-
请显示您的配置属性。看起来你
baseUrl的定义是错误的。 -
您可能还需要重新配置您的 urlManager 来处理此类链接 - 看起来像是 yii2 的路由问题,而不是 apache。