原文:http://blog.csdn.net/mr_raptor/article/details/50749016
目的:我只想去掉浏览器地址栏中的index.php?r=这一块。
首先确认apache2配置
1. 开启 apache 的 mod_rewrite 模块
去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;
2. 修改 apache 的 AllowOverride
把 AllowOverride None 修改为 AllowOverride All;
在/config/web.php中 ’components‘=>[] 中添加如下代码:
1 ‘urlManager‘ => [ 2 ‘enablePrettyUrl‘ => true, 3 ‘showScriptName‘ => false,//隐藏index.php 4 //‘enableStrictParsing‘ => false, 5 ‘suffix‘ => ‘.html‘,//后缀,如果设置了此项,那么浏览器地址栏就必须带上.html后缀,否则会报404错误 6 ‘rules‘ => [ 7 //‘<controller:\w+>/<action:\w+>‘=>‘<controller>/<action>‘, 8 ], 9 ],
如果带了改了后缀这一下,请记得一定要给浏览器地址栏的路径最后面加上.html。
改了以上这些,我发现?r=这块可以用/代替访问了,但是想隐藏掉index.php还是不行。
我们还需在index.php同级的目录下添加.htaccess文件:
打开记事本,输入以下代码:
<span class="hljs-section" style="box-sizing: border-box; color: rgb(136, 0, 0); font-weight: bold; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;"><IfModule mod_rewrite.c></span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> </span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">Options</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> +FollowSymLinks</span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">IndexIgnore</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> */*</span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">RewriteEngine</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> </span><span class="hljs-literal" style="box-sizing: border-box; color: rgb(31, 129, 31); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">on</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"></span><span class="hljs-comment" style="box-sizing: border-box; color: rgb(136, 136, 136); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;"># if a directory or a file exists, use it directly</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"></span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">RewriteCond</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> </span><span class="hljs-variable" style="box-sizing: border-box; color: rgb(188, 96, 96); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">%{REQUEST_FILENAME}</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> !-f</span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">RewriteCond</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> </span><span class="hljs-variable" style="box-sizing: border-box; color: rgb(188, 96, 96); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">%{REQUEST_FILENAME}</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> !-d</span><span class="hljs-comment" style="box-sizing: border-box; color: rgb(136, 136, 136); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;"># otherwise forward it to index.php</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"></span><span class="hljs-attribute" style="box-sizing: border-box; font-weight: bold; color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;">RewriteRule</span><span style="color: rgb(68, 68, 68); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap; background-color: rgb(240, 240, 240);"> . index.php</span><span class="hljs-section" style="box-sizing: border-box; color: rgb(136, 0, 0); font-weight: bold; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; line-height: 18.5714px; white-space: pre-wrap;"></IfModule></span>
然后保存在与入口文件index.php同级的目录下,也就是/web目录下,文件名自己填.htaccess,文件类型选择 所有文件 (*.*) ,然后保存即可。
最后测试OK了