删除yii2中的index.php的urlManager不起作用

时间:2015-01-20 05:26:02

标签: yii2

我从composer安装了yii2,想要删除index.php。

我试过这样做:

在config-> web.php中:

    'urlManager' => [

        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
        ],
    ],

在web-> .htaccess:

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

我甚至通过运行deny from all检查.htaccess文件是否正常工作,但是这个脚本没有,或者至少我不知道为什么。

我发现的一些东西:

  1. 当我启用页面的'showScriptName' => false,页脚时,不会显示 My webapp bottom of the page

  2. 当我尝试打开midori.dev/web/site/index时,它会显示:

    找不到对象!

    在此服务器上找不到请求的URL。如果您手动输入了URL,请检查拼写,然后重试。

    如果您认为这是服务器错误,请与网站管理员联系。

    错误404

    midori.dev.lv Apache / 2.4.10(Win32)OpenSSL / 1.0.1i PHP / 5.5.19

  3. PS。我已为midori.dev而不是localhost配置了hosts文件和vhost文件。

    问题出在哪里?

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

如果你使用的是linux

更改httpd.conf文件

AllowOverride All

如果您创建虚拟主机, 你的文件应该是这样的

DocumentRoot" / path / to / web"

    

上的RewriteEngine
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php

# ...other settings...