如何解决yii2高级的一个域配置不起作用
我使用Xampp,启用了mod_rewrite(表示phpinfo)
root htAccess
AddDefaultCharset UTF-8
Options FollowSymLinks
DirectoryIndex index.php index.html
RewriteEngine on
RewriteRule /\. - [L,F]
# define the app environment variable
RewriteCond %{REQUEST_URI} !^/((frontend|backend)/web|szerk)
RewriteRule ^ - [E=APP:frontend]
RewriteCond %{REQUEST_URI} (?!^/backend/web)^/szerk
RewriteRule ^ - [E=APP:backend]
# rewrite the URI of the frontend app
RewriteCond %{ENV:APP} =frontend
RewriteRule ^ frontend/web%{REQUEST_URI}
# if a directory or a file exists,use the request directly
RewriteCond %{ENV:APP} =frontend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ frontend/web/index.php [L]
# redirect to the URL without a trailing slash (uncomment if necessary)
#RewriteRule ^admin/$ /admin [L,R=301]
# rewrite the URI of the backend app
RewriteCond %{ENV:APP} =backend
RewriteRule ^szerk/?(.*)$ backend/web/$1
# if a directory or a file exists,use the request directly
RewriteCond %{ENV:APP} =backend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ backend/web/index.php [L]
# handle a directory trailing slash,redirect to the initial URI instead the rewritten one
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [L,R=301]
我把backend / webésfrontend / web .htaccess,内容:
RewriteEngine On RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
common / config / main.php
'urlManager' => [
'enablePrettyUrl' => true,'showScriptName' => false,'enableStrictParsing' => false,]
backend / config / main.php
return [
'id' => 'app-backend','language' => 'hu-HU','basePath' => dirname(__DIR__),'controllerNamespace' => 'backend\controllers','bootstrap' => ['log'],'modules' => [],'homeUrl' => '/szerk','components' => [
'request' => [
'csrfParam' => '_csrf-backend','csrfCookie' => [
'httpOnly' => true,'path' => '/szerk',],'baseUrl' => '/szerk','user' => [
'identityClass' => 'common\models\User','enableAutoLogin' => true,'identityCookie' => ['name' => '_identity-backend','httpOnly' => true],'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-backend','cookieParams' => [
'path' => '/szerk','log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,'targets' => [
[
'class' => 'yii\log\FileTarget','levels' => ['error','warning'],]
],'errorHandler' => [
'errorAction' => 'site/error','urlManager' => [
'enablePrettyUrl' => true,]
],'aliases'=>[
'@Imagine'=>'@vendor/Imagine',//this should correspond to pathA above
],'params' => $params,];
frontend / config / main.php
return [
'id' => 'app-frontend','controllerNamespace' => 'frontend\controllers','components' => [
'request' => [
'csrfParam' => '_csrf-frontend','baseUrl' => '','identityCookie' => ['name' => '_identity-frontend','session' => [
// this is the name of the session cookie used for login on the frontend
'name' => 'advanced-frontend','i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource','basePath' => '@app/messages',//'sourceLanguage' => 'hu-HU',//'fileMap' => [
// 'app' => 'app.php',// 'app/error' => 'error.php',//],];
当我跑步时: yii serve --docroot =“ frontend / web /” --port = 8890 然后我可以看到前端页面,图像等...很好,但是当我键入url / szerk时我找不到404 当我运行时: yii serve --port = 8890 始终重定向到/ szerk / login后端登录页面,但未加载CSS /图像...
我将如何配置这些东西使其正常工作? 我已经在Google搜索了两天,但没有任何反应...
它可以在线工作,但不能在本地主机上
解决方法
yii serve
不使用Apache,因此根本不使用您的配置文件。
配置您的本地主机以使用Apache而不是内部php服务器
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。