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

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

时间: 2024-11-13 09:11:50

yii2 去掉index.php的方法的相关文章

dedecms强制去掉首页index.html的方法

dedecms默认是通过后台生成index.html,但是往往一些站长朋友不喜欢index.html,而是喜欢直接使用index.php,默认首页对seo没有影响,所以去不去掉index.html全看自己 dedecms去掉首页index.html的方法如下. 1.按官方给的更新说明 替换index.php的内容 生成动态, 如果首页不需要生成HTML的, 把index.php换成下面代码 <?php if(!file_exists(dirname(__FILE__).'/data/common

php CI 实战教程:如何去掉index.php目录

Windows下自由创建.htaccess文件的N种方法 .htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录.站点的访问控制,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态的一个重要途径,也是被公认为SEO中搜索引擎友好的极为有效的一个手段.尽管前些天的黑屏风波闹的沸沸扬扬,但依本人拙见,windows用户并无任何减少.现在的一个实际问题就是windows不允许重命名时.的前面没有字符,它认为这样的文件名是不合法

***CodeIgnite/CI 去掉 index.php的 配置

CI有效删除URL中的index.php 参考: http://codeigniter.org.cn/forums/thread-15444-1-1.html 读CI的使用手册的话,关于如何有效删除URL中index.php以使URL看起来更友好美观的问题,可能是你面对的第一个较为复杂的问题!本贴不是原创,而是一个各种意见的综合!但本帖提出的解决方案可以有效解决Apache和IIS两种环境下的配置问题,同时也可以有效,避免部分虚拟LINUX虚拟主机上可能出现的no input file spec

dedecms建的网站如何去掉/index.html

DEDECMS建立的网站,www.abc.com/index.html和www.abc.com两个都可以访问,而且两个页面都是一样的,这样就会造成重复页面,对搜索引擎不友好,那么怎么去掉index.html只显示主域名呢. 修改方法是,打开网站根目录的index.php,将代码修改为下面的就可以 <?php if(!file_exists(dirname(__FILE__).'/data/common.inc.php')) {      header('Location:install/inde

IIS 8.5 伪静态去掉index.php thinkphp 3.2.2

因为测试都是在win下开发的 win8.1企业版 II8.5 首先安装  Thinkphp 3.2.2 URL Rewrite Module 2.0 http://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads 上面地址选择 合适的版本下载安装 安装完成后 关闭IIS 在重新打开 在你建立的网站根目录有 web.config 这个文件 输入伪静态规则 <rewrite> <rules> <rule

ASP.NET C# 去掉字符串中间空格方法

 string strName = "大     张     伟";             string str = Regex.Replace(strName, @"\s", "");             Response.Write("输出内容:" + str); ASP.NET C# 去掉字符串中间空格方法,布布扣,bubuko.com

Thinkphp中去掉index.php

原文地址:http://www.thinkphp.cn/topic/30538.html 例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.

lnmp 设置ci pathinfo和去掉index.php

LNMP上各个版本pathinfo各个版本的设置基本一样: lnmp v1.1上,修改对应虚拟主机的配置文件去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注释掉. 1.2,1.3上,修改对应虚拟主机的配置文件将include enable-php.conf;替换为include enable-php-pathinfo.conf; 修改pathinfo需要重启nginx生效. 去掉 index.php location / {  

JS去掉首尾空格 简单方法大全(原生正则jquery)

JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|(\s*$)/g, ""); //去除左边空格 osfipin.replace(/(^\s*)/g, ""); //去除右边空格 osfipin.replace(/(\s*$)/g, ""); //jquery 需提前引用jquery $.trim(o