在Apache服务器中配置ThinkPHP伪静态URL

ThinkPHP 作为国内最流行的一个PHP框架,由于她开发应用的便捷,便吸引越来越多的开发者开始使用她来做项目的底层架构。像我PHP基础并不是很好,也可以使用她来完成一个像模像样的项目。

下面便分享一些使用ThinkPHP需要了解的东西。

去掉 URL 中的 index.php

ThinkPHP是单一入口的,默认的 URL 不是很友好。但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache 里面的 .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来。

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

例如原来的 URL 为:

http://127.0.0.1/index.php/Index/insert

去掉 index.php 之后变为:

http://127.0.0.1/Index/insert

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

更改 Apache httpd.conf 配置文件

提示:如果在虚拟主机商配置,请直接配置第三、四步,因为支持 .htaccess 的空间已经配置好了前面两步。用编辑器打开 Apache 配置文件 httpd.conf(该文件位于 Apache 安装目录Apache2conf),并按如下步骤修改。

一、加载了 mod_rewrite.so

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

二、更改 AllowOverride 配置

更改需要读取 .htaccess 文件的目录,将原来的目录注释掉:
#<Directory “C:/Program Files/Apache Group/Apache2/htdocs”>

更改 AllowOverride None 为 AllowOverride FileInfo Options ,更改后的配置如下所示:
#<Directory “C:/Program Files/Apache Group/Apache2/htdocs”>

AllowOverride FileInfo Options

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

三、添加 .htaccess 文件 Rewrite 规则

在需要隐藏 index.php 的目录下(本教程中为 E:/html/myapp,也即入口文件所在目录)创建 .htaccess 文件,并写入如下规则代码:

RewriteEngine on

#不显示index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

四、更改项目配置文件

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

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

http://127.0.0.1/html/myapp/Index/index

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

一生范文网http://www.onesheng.cn

时间: 2024-10-01 02:55:48

在Apache服务器中配置ThinkPHP伪静态URL的相关文章

关于Apache服务器中配置虚拟目录和虚拟主机

一.配置虚拟目录: ① ②注销DocumentRoot路径(这个配置文件中使用'#'来注释一行语句) ③关于配置的虚拟路径中权限设置语句的解读 例图: 图中语句的意思是: order表示读取语句是先allow,后deny.所以执行顺序是:allow(允许所有ip访问站点文件夹)--->deny(拒绝所有ip访问站点文件夹)--->allow from 218.20.253.2(允许ip地址218.20.253.2访问)--->deny from 218.20(拒绝所有以218.20开头的

apache服务器全局配置详解

服务器标识相关指令: ServerName ServerAdmin ServerSignature ServerTokens UseCanonicalName UseCanonicalPhysicalPort ServerAdmin和ServerTokens指令控制有关服务器的哪些信息将出现在服务器生成的文档中(如错误消息).ServerTokens指令设置服务器HTTP响应头字段的值. ServerName.UseCanonicalName. UseCanonicalPhysicalPort指

Windows操作系统Apache服务器下配置PHP

在Apache web服务器上发布PHP项目之前,需要进行相应的配置,服务器才能解析php文本,正常显示php动态页面内容.在进行php配置之前默认已经在Windows系统下安装好了Apache服务器,且服务器能够正常运行,即发布的静态html页面能够通过IP地址或域名进行访问.在Windows下安装配置Apache,可参考:Windows下安装Apache服务器. 1.PHP下载 进入php下载页面http://php.net/downloads.php,选择需要下载的版本,点击Windows

Apache服务器中prefork和worker工作模式

一.多道处理模块MPM介绍 Apache HTTP 服务器被设计为一个功能强大,并且灵活的 web 服务器, 可以在很多平台与环境中工作.不同平台和不同的环境往往需要不同 的特性,或可能以不同的方式实现相同的特性最有效率.Apache 通过模块化的设计来适应各种环境.这种设计允许网站管理员通过在 编译时或运行时,选择哪些模块将会加载在服务器中,来选择服务器特性.        Apache 2.0 扩展此模块化设计到最基本的 web 服务器功能. 它提供了可以选择的多处理模块(MPM),用来绑定

Apache服务器的配置与管理

Apache服务器的建立 一.项目设计 利用Apache服务建立普通Web站点.基于主机和用户认证的访问控制. 二.项目准备 安装有企业服务器版Linux的PC计算机一台.测试用计算机一台(Windows XP).并且两台计算机都在连入局域网.该环境也可以用虚拟机实现.规划好各台主机的IP地址. 三.安装过程 Apache相关软件 httpd软件包 httpd-manual软件包 1.检测是否安装httpd 2.开启httpd服务 3.查看80端口是否被监听 4.查看ip地址,并测试服务器是否能

Windows下Apache服务器中自动配置二级子域名

今天我们介绍的这个办法,只需要简单修改 httpd-vhosts.conf 文件,配合 .htaccess 文件即可实现自动配置二级域名. 我们这里以 wpchina.com 为例,以下代码中的 wpchina.com 都可以替换成你自己想要域名. 我们的目标是,不同的子域名可以访问不同目录下的网站: wpchina.com => / : home.wpchina.com => /home: bbs.wpchina.com => /bbs: … 第一步,确认安装好 Apache 服务器,

[iOS]超详细Apache服务器的配置(10.10系统)

配置目的:有一个自己专属的测试服务器 我们需要做以下事情: 1.新建一个目录,存放网页 2.修改Apache配置文件httpd.conf - 修改两个路径 - 增加一个属性 - 支持PHP脚本 3.拷贝php.ini文件 一.新建一个目录,存放网页 注意:不要将目录放在桌面或者文稿等个人文件夹中 一般放在如下目录中: /Users/xxxx/Sites 其中xxxx用电脑的当前用户名替换,如下图,我的是janlor 在10.10.3系统中已经默认存在该目录(即“站点”),不需要新建Sites文件

今天新看到的 apache 服务器下配置 多个项目 小白随笔 摘抄

多端口: 一个域名下同时配置多个端口,从而达到访问不同程序 效果例如: 1.8080端口下安装discuz论坛程序,用http://localhost:8080访问. 2.8081端口下安装WordPress博客程序,用http://localhost:8081访问. (1).修改http.conf 在C:\XAMPP\apache\conf  里的httpd.conf 先配置好apache的侦听端口 在Listen: 80 行下添加如下: (2).修改httpd-vhosts.conf 在C:

配置apache apache服务器如何配置多站点

http://jingyan.baidu.com/article/5225f26b07605be6fa090890.html 让Apache在启动时能加载虚拟主机模块. 打开Apache安装目录下conf/httpd.conf文件,找到下面两行文字,把最前面的 # 号去掉,然后保存. #LoadModule vhost_alias_module modules/mod_vhost_alias.so #Include conf/extra/httpd-vhosts.conf   接着找到同一文件中