Yii2:在此服务器上找不到请求的URL / site / login

时间:2018-07-12 16:11:09

标签: php apache yii2 http-status-code-404 bootstrapping

我有一个与Debian一起在计算机上工作的Yii2应用程序。然后,我尝试在装有 Windows 8 的另一台计算机上运行它,但是它不起作用。

我将整个应用程序文件夹复制到了Apache的 htdocs 文件夹中,但是当我在浏览器中运行它时,它显示:

404 Not Found

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 文件: enter image description here

4 个答案:

答案 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