yii去除index.php的入口脚本显示为seo友好的url

1.去除入口脚本需要在重写url,如果你的webserver软件时Apache的话,必须配置httpd.conf,搜索“LoadModule rewrite_module modules/mod_rewrite.so”,然后去掉此行前面的“#”[ps:注释符号]:

2.在yii的web应用程序主配置文件main.php[path\to\protected\config\main.php],使用urlManager增加一个数组配置选项‘showScriptName‘=>false:

1 ‘urlManager‘=>array(
2             ‘urlFormat‘=>‘path‘,
3             ‘showScriptName‘=>false,//去除入口脚本index.php的显示
4             ‘rules‘=>array(
5                 ‘post/<id:\d+>/<title:.*?>‘=>‘post/view‘,
6                 ‘posts/<tag:.*?>‘=>‘post/index‘,
7                 ‘<controller:\w+>/<action:\w+>‘=>‘<controller>/<action>‘,
8             ),
9         ),

3.从项目的其它路径中复制一份.htaccess文件到与入口脚本index.php相同层次的路径下,用以下代码覆盖其中的内容:

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

关于apache重写规则的定义,请见:http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html#rewriterule 以及http://www.maxi-pedia.com/FollowSymLinks

另外,如果你不知道如何在windows下创建没有文件名的文件可以使用如下方式创建到一个路径下:

时间: 2024-10-27 08:27:07

yii去除index.php的入口脚本显示为seo友好的url的相关文章

Yii入口脚本

入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本.终端用户的请求通过入口脚本实例化应用并将将请求转发到应用. Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称. 控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文件需要有执行权限,这样用户就能通过命令 ./yii <route> [arguments] [options] 来运行控制台应用. 入

Yii优化路由Apache配置(在APACHE服务器上的访问方式上去除index.php)

在APACHE服务器上的访问方式上去除index.php 下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index.php/index 改变后的路径是: localhost/index 1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.httpd.

yii2 入口脚本

yii2 入口脚本介绍 一.前言 入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本.终端用户的请求通过入口脚本实例化应用并将将请求转发到应用. Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称. 控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文件需要有执行权限,这样用户就能通过命令 ./yii[arguments] [options] 来运行控

Joomla的Url中去除index.php

最近在研究Joomla系统(一个著名的CMS系统),安装之后发现页面的URL中始终有一个index.php存在,感觉非常碍眼,决心将其除之而后快,废话少说,下面以2.5版本为例奉上去除步骤. 1. 登录管理后台,在"Site"->"Global Configuration"->"Site"中的"SEO Settings"中全部勾选"Yes": 2. 创建.htaccess文件:将Joomla安装

在APACHE服务器上的访问方式上去除index.php

下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index.php/index 改变后的路径是: localhost/index 1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.在APACHE里面去配置 ,将里面的AllowOverride Non

yii 隐藏index.php

首先,开启apache的rewrite模块 去掉rewrite前的#,如下所示 LoadModule rewrite_module modules/mod_rewrite.so 接着,在yii的index.php同级目录建立.htaccess文件,内容如下 <IfModule mod_rewrite.c>       Options +FollowSymLinks      IndexIgnore */*      RewriteEngine on      # if a directory

ThinkPHP在Apache和Nginx下去除index.php方法

由于项目需要,用ThinkPHP开发的程序链接要去除index.php下面说下如何解决. 一.Nginx方法 由于nginx不支持PATH_INFO,所以需要进入linux终端找到nginx 的配置文件nginx.conf添加如下代码: 123456 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } 使用如下: 1234567891011121314151617181

YII 1.0 隐藏单入口index.php 设置路由与伪静态

隐藏 index.php 保证apache配置文件httpd.conf里的LoadModulerewrite_module modules/mod_rewrite.so开启(去掉#)将相对应目录的AllowOverride 改为ALL在根目录下,即在index.php同级目录下新建.htaccess RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME}

thinkphp url路由中去除index.php

第一步:打开Apache中的配置文件:httped.conf,将mod.rewrite.so这条注释去除. 第二步:将AllowOverride Node修改为AllowOverride All 第三步:在文件根目录中创建.htaccess 在文件中写入 <IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule