yii2漂亮的网址 - 浏览器找不到文件index.php

时间:2016-03-03 21:12:48

标签: php apache .htaccess mod-rewrite yii2

我正在尝试设置Yii2以使用漂亮的网址。 为了做到这一点,我配置了Yii2并使用了apache的重写模块来确保我们总是通过入口点输入index.php

我在yii-application / frontend / web /文件夹中包含的.htaccess文件中进行了以下修改 - 包含index.php(高级yii2模板)的文件夹。对于这些修改,我按照各种论坛上的说明进行操作。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

我还在yii2的配置中进行了以下更改,以便激活漂亮的网址

$config = [
'components' => [
    'urlManager' => [
        'showScriptName' => false,
        'enablePrettyUrl' => true,
        'rules' => array(
            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        ),
    ],
],
];

请注意,在进行这些更改之前,Yii2运行良好。

现在,如果我尝试使用以下URL之一进行连接(如修改前),我会看到着陆页。导航无效,我将始终看到着陆页。

http://localhost/frontend/
http://localhost/frontend/index.php
http://localhost/frontend/index.php?r=site/about-us
http://localhost/frontend/index.php?r=site/faq

如果我尝试使用下面的URL进行连接(因为我应该正确配置漂亮的URL),我的浏览器会显示错误消息。

http://localhost/frontend/site/faq
http://localhost/frontend/site/account
http://localhost/frontend/site/index

错误讯息:

Not Found
The requested URL /web/yii-application/frontend/web/index.php was not found on this server.
Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80

但是,看起来路径是正确的。 index.php文件实际位于文件夹C:\ web \ yii-application \ frontend \ web \ index.php中 为什么我的浏览器找不到该文件?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)