我从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文件是否正常工作,但是这个脚本没有,或者至少我不知道为什么。
我发现的一些东西:
当我启用页面的'showScriptName' => false,
页脚时,不会显示
当我尝试打开midori.dev/web/site/index时,它会显示:
找不到对象!
在此服务器上找不到请求的URL。如果您手动输入了URL,请检查拼写,然后重试。
如果您认为这是服务器错误,请与网站管理员联系。
错误404
midori.dev.lv Apache / 2.4.10(Win32)OpenSSL / 1.0.1i PHP / 5.5.19
PS。我已为midori.dev
而不是localhost配置了hosts文件和vhost文件。
问题出在哪里?
答案 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...