一、去掉url中的index.php
1.开启apache-rewrite
在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单:
在[Apache安装目录]/conf/httpd.conf中找到 #LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有
mod_rewrite.so
这个文件。这样就启用了
在[Apache安装目录]/conf/httpd.conf
中找到
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
把“AllowOverride None”改成“AllowOverride All”,这样所有的文件夹都支持.htaccess了.
2.在入口文件同级目录下添加.htaccess文件
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ index.PHP/$1 [QSA,PT,L]
`RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.)$ index.PHP/$1 [QSA,PT,L]RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.)$ index.PHP/$1 [QSA,PT,L]RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.)$ index.PHP/$1 [QSA,PT,L]<br />或者<br />
RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . index.php`
二、美化url
在配置文件中(默认情况下在conf/web.php中)
修改如下:'components'=> [ ....
'urlManager' => [
'enablePrettyUrl' => true, //启用美化 'showScriptName' => false, // 在URL路径中是否显示脚本入口文件 'rules' => [ /*'<controller:\w+>/view/<slug:[\w-]+>' => '<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', '<controller:\w+>/cat/<slug:[\w-]+>' => '<controller>/cat',*/ ], ], ..... ]