私はProjectsController.php
私が持っているactionIndex
にある私のmain.phpファイルでfrontend/config/main.php
、以下のようにルーティングを行いました。
'components' => [
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'projects'=>'projects/index',
],
],
]
つまり、プロジェクトコントローラーで url を使用して index アクションにリダイレクトしようとしています/projects
。のようにローカルホストにアクセスできますがlocalhost/myproject/projects
、ライブで同じものにアクセスしようとするwww.myproject/projects/
と、ホームページにリダイレクトされ、そのようにアクセスしようとするwww.myproject/frontend/web/projects/index
と、正しいページにリダイレクトできます。これだけではありませんアクションとコントローラー、main.php に記載されている他のすべてのルーティングは、ホームページにリダイレクトされます。
以下は.htaccess
、ルートファイル「/」のファイルコードです
# prevent directory listings
#Options -Indexes
#IndexIgnore */*
# follow symbolic links
#Options FollowSymlinks
RewriteEngine on
#RewriteCond %{REQUEST_URI} ^/common/css/
#RewriteRule ^common/css/(.*)$ common/css/$1 [L]
#RewriteCond %{REQUEST_URI} ^(?!.*/web/)
#RewriteCond %{REQUEST_URI} !^/web/
#RewriteRule .* backend/web/index.php [L]
#RewriteCond %{REQUEST_URI} ^(?!.*/web/)
#RewriteRule ^(.*)?$ backend/web/$1 [L,PT]
#RewriteCond %{REQUEST_URI} !^/frontend/web/
#RewriteRule backend/(.*)$ backend/web/index.php [L]
#RewriteRule ^frontend/(.*)$ frontend/web/$1 [L]
#RewriteBase /
RewriteRule ^common/(.*)$ common/$1 [QSA,L,NC]
RewriteRule ^frontend/images/(.*)$ frontend/images/$1 [QSA,L,NC]
RewriteRule ^(.*)$ frontend/web/index.php/$1 [QSA,L,NC]
#RewriteCond %{REQUEST_URI} ^frontend/(assets|css|js|images|themes)
#RewriteRule ^frontend/images/(.*)$ frontend/images/$1 [QSA,L,NC]
#RewriteCond %{REQUEST_URI} ^/frontend/web/projects/$
#RewriteRule frontend/projects/(.*)$ frontend/web/index.php/projects/$ [L]
#RewriteCond %{REQUEST_URI} ^(?!.*/themes/)
#RewriteCond %{REQUEST_URI} ^/(assets|js|images|themes|uploads)
#RewriteRule ^themes/(.*)$ backend/web/themes/$1 [L]
#RewriteRule ^images/(.*)$ backend/images/$1
#RewriteRule ^css/(.*)$ backend/web/css/$1 [L]
#RewriteRule ^(.*)?$ backend/themes?$ [L,PT]
#RewriteRule ^(.+)?$ frontend/web/$1
#
#RewriteCond %{REQUEST_URI} !^/backend/(assets|css|themes)/
#RewriteRule .* backend/themes/$1 [L]
#Options -Indexes
#RewriteEngine on
#
#RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/
#RewriteCond %{REQUEST_URI} !index.php
#RewriteRule frontend/web(.*) frontend/web/index.php [L]
#RewriteCond %{REQUEST_URI} ^/(assets|css|js|images|themes)
#RewriteRule ^assets/(.*)$ backend/web/assets/$1 [L]
#RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
#RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
#RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
#RewriteRule ^themes/(.*)$ frontend/web/themes/$1 [L]
以下は、.htaccess
からです/frontend/web/
RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php
助けてください。これを解決できません。私は実際に原因を理解することができません。