yii2 去掉index.php的方法

1.开启apache-rewrite

在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单:

在[Apache安装目录]/conf/httpd.conf中找到

#LoadModule rewrite_module modules/mod_rewrite.so

,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有
mod_rewrite.so

这个文件。这样就启用了

Mod Rewrite
功能。

[Apache安装目录]/conf/httpd.conf
中找到

Options FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all

把“
AllowOverride None
”改成“
AllowOverride All
”,这样所有的文件夹都支持.htaccess了,或者针对指定的文件夹启用.htaccess,可以在

[Apache安装目录]/conf/httpd.conf
中加入

Options Indexes FollowSymLinks    AllowOverride All    Order allow,deny    Allow from all这种做法一般是和虚拟主机配置在一起的,所以大多数会把上述配置代码写入
[Apache安装目录]/conf/extra/httpd-vhost.conf

中,这样比较清晰易于管理。

重启Apache后,就ok了。

完成上诉步骤后,在Wordpress的固定链接中使用除默认外的链接设置,Wordpress会直接在其安装目录中生成对应的.htaccess,这样就可以使用设置的链接形式了。

2.修改配置main.php

'urlManager'=>[
'enablePrettyUrl' => true,
'showScriptName' => false,
//路由管理
'rules' => [
"<module:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>"=>"<module>/<controller>/<action>",
"<controller:\w+>/<action:\w+>/<id:\d+>"=>"<controller>/<action>",
"<controller:\w+>/<action:\w+>"=>"<controller>/<action>",
],
],

3.在入口文件同级目录下添加.htaccess文件

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

以上方法,自己亲自实验过,是有效的,只要按步骤来就好了。

上一篇:修改linux系统时间的方法(date命令)


下一篇:C#中,使用显式类型转换(int)和Math.Round方法,将浮点数转换为整数的区别