<<<<<<< .mine =======
当前位置: 首页 > SEO > Apache服务器ThinkPHP伪静态的设置方法

Apache服务器ThinkPHP伪静态的设置方法

时间:2014-04-21 11:01:09
ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的URL 地址来。

.htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。我们可以利用 .htaccess 文件的Rewrite 规则来隐藏掉 ThinkPHP URL 中的 index.php 文件(即入口文件),这也是 ThinkPHP URL伪静态的第一步。

例如原来的 URL 为:



http://www.baidu.com/index.php/Index/insert



去掉 index.php 之后变为:



http://www.baidu.com/Index/insert



如此一来,就变成了 http://网页地址/应用模块名称/操作名称[/变量参数] 的常见 URL 格式。

更改 Apache httpd.conf 配置文件

一、加载了 mod_rewrite.so

确认加载了 mod_rewrite.so 模块(将如下配置前的 # 号去掉):


LoadModule rewrite_module modules/mod_rewrite.so

二、更改 AllowOverride 配置

更改需要读取 .htaccess 文件的目录,将原来的目录注释掉:



#<Directory "C:/Program Files/ApacheGroup/Apache2/htdocs">

<Directory E:/html/myapp>



更改 AllowOverride None 为 AllowOverride FileInfo Options ,

更改后的配置如下所示:



#<Directory "C:/Program Files/ApacheGroup/Apache2/htdocs">

<DirectoryE:/html/myapp>

AllowOverride FileInfoOptions

</Directory>



.htaccess 是基于目录来控制的,<DirectoryE:/html/myapp> 该句即表示需要读取 .htaccess 文件的目录,要根据实际具体Apache 的解析目录来配置。虚拟主机如果提供 .htaccess 控制,一般都已经配置好了。

三、添加 .htaccess 文件 Rewrite 规则

在需要隐藏 index.php 的目录下创建 .htaccess文件,并写入如下规则代码:


<IfModulemod_rewrite.c>

RewriteEngine on

#不显示index.php

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

四、更改项目配置文件

编辑项目配置文件 Conf/config.php ,将 URL 模式配置为 2(Rewrite模式):



'URL_MODEL'=>2,



至此,各个配置已经完成。保存各配置文件后,重启 Apache 服务器并删除 Runtime 目录下的项目缓存文件,在浏览器访问隐藏index.php 后的地址测试是否成功:



http://www.baidu.com/html/myapp/Index/index



如果访问成功,那么利用 Apache .htaccess 文件的 Rewrite 规则隐藏 index.php入口文件的配置就成功了。


相关文章

论 产品经理的宝典

产品经理职位越来越火,有的公司建立以产品为中心的组织形式。网上有很多“产品经理的能力模型”,有人说这像是武林秘籍,修炼之...

国内CDN加速应该如何取舍?

最近的一年来,站长圈突然成了互联网各大巨头关注的焦点。一下子出来很多云服务,特别是免费CDN、抗攻击的更是引人瞩目。什么...

让页面元素“固定”位置(基于bootstrap)

如果你的页面布局为单页面导航,并希望导航条一直固定在顶部,让用户随时知道自己所处的位置,只需按照下面的步骤照着做就能实现...

优秀的网站简介

优秀的网站布局和设计,都是一些创意性的东西。这些算是不怕做不到,就怕想不到了。那么今天就来介绍一些比较好的网站。供大家参...

HTML5>meter标签与input(type=range)标签结合制作简易范围指示器

  很多时候我们能看到这样的表示范围的优化工具,能给人带来很好的用户体念,今天结合HTML5的两...
沪ICP备10034044号-12
400-685-0732
400-685-0732 在线咨询