我有一个与Debian一起在计算机上工作的Yii2应用程序。然后,我尝试在装有 Windows 8 的另一台计算机上运行它,但是它不起作用。
我将整个应用程序文件夹复制到了Apache的 htdocs 文件夹中,但是当我在浏览器中运行它时,它显示:
Apache access.log:
::1 - - [12/Jul/2018:09:03:40 -0300] "GET /donaciones-yii/backend/web/site/login HTTP/1.1" 404 235
::1 - - [12/Jul/2018:09:03:40 -0300] "GET /favicon.ico HTTP/1.1" 200 1150
这是文件backend / web / index.php 的内容:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'),
require(__DIR__ . '/../../common/config/main-local.php'),
require(__DIR__ . '/../config/main.php'),
require(__DIR__ . '/../config/main-local.php')
);
(new yii\web\Application($config))->run();
@ rob_006:我的Debian和Windows计算机都没有 backend / web / .htaccess 文件:
答案 0 :(得分:0)
我解决了它禁用漂亮的URL的问题。
答案 1 :(得分:0)
按照rob006注释,您应该已经将.htaccess文件添加到了包含以下内容的Web文件夹中:
Options +FollowSymLinks
IndexIgnore */*
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
漂亮的网址将起作用。
答案 2 :(得分:0)
在docker容器中运行yii时,添加到/web/.htaccess
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
答案 3 :(得分:0)
$ sudo nano /etc/apache2/sites-available/000-default.conf
添加
<Directory "/var/www/">
AllowOverride All
</Directory>
sava 并退出
service apache2 restart