php Apache配置伪静态的介绍
以下是摘抄http://jingyan.baidu.com/article/86112f132aa7462737978718.html的,作为记录,方便以后参考
现有的在线网上视频教程对伪静态的讲解比较简单,但不全面,我以一个真实案例来讲解伪静态的制作过程。
步骤开始:
(1) 启用rewrite模块,在默认情况下,没有启用
修改httpd.conf文件,启动rewrite模块
去掉LoadModule rewrite_module modules/mod_rewrite.so前的#号即可
(2) 配置我们的虚拟主机
httpd.conf 打开虚拟主机的配置文件
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
修改 httpd-vhost.conf
<VirtualHost *:80>
DocumentRoot "F:/Appserv/www/xh"
ServerName xh.com
<Directory "F:/Appserv/www/xh">
AllowOverride All
</Directory>
</VirtualHost>
我是用的是appserv集成环境,安装在F盘
(3) 在hosts文件中,配置ip和主机的对应关系
127.0.0.1 xh.com
(4) 在F:/Appserv/www/xh目录下建立.htaccess文件,写入
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^([0-9]+).html$ index.php/Index/index/p/$1
RewriteRule ^([A-Z])_(\d+).html$ index.php/List/index/first_letter/$1/p/$2
RewriteRule ^([A-Z]).html$ index.php/List/index/first_letter/$1
</IfModule>
解释一下上面那段话,
访问2.html => index.php/Index/index/p/2
D_2.html => index.php/List/index/first_letter/D/p/2
D.html => index.php/List/index/first_letter/D
上面的url重写规则是我的一个真实案例,详见http://www.xlyun.com对比参考
2.html表示全部歇后语的第二页,D_2.html表示以字母D打头的歇后语的第二页,而单独一个字母D就表示以D打头的以第一页
好了问题来了,大部分教程只告诉你怎么在.htaccess中重写url,那么我们要让用户点击时显示的也是静态网址,这样表意清晰,目录结构简单,对用户对搜索引擎都比较友好,我们是不会在地址栏里头一个一个的敲入静态网址的,这个问题该怎么解决呢?
很简单,只需对模板中的分页标签变量{$page}做一个简单的正则替换,如下,
首页列表分页的替换:
<div class="pagination"><?php echo preg_replace('/index.php\/Index\/index\/p\/(\d+)\.html/','$1.html',$page); ?></div>
字母列表分页的替换:<div class="pagination"><?php echo preg_replace('/index.php\/List\/index\/first_letter\/([A-Z])\/p\/(\d+)\.html/','$1_$2.html',$page); ?></div>
循环26个字母的改写(去掉没有结果的那些字母,只需做一个简单的链接改写,改成 字母.html 即可,无需正则替换)
for($i=97;$i<=122;$i++) {
$c = strtoupper(chr($i));
if($c==I || $c==U || $c==V) continue;
echo '<li><a href="' . $c . '.html">'.$c.'</a></li>';
}
好了,伪静态就这么简单,我以这个简单的例子阐述了伪静态从头到尾的过程,方便大家学习和交流,目的在于针对多数教程的一个补充,需要完成更复杂任务的同学,请自行深入研究伪静态吧!
转载于:https://www.cnblogs.com/zonglonglong/p/5010209.html
php Apache配置伪静态的介绍相关推荐
- wamp的卸载、安装与配置apache配置伪静态
wamp的卸载和安装注意事项(集成请绕行) 卸载wamp注意事项: 关闭应用,停止服务,在cmd中 sc delete mysql sc delete apache2.2 拷贝php注意事项: 拷贝p ...
- apache大师+伪静态_Apache配置伪静态
Apache配置伪静态 注意:本文中关于Apache的配置修改,一定要记得重启Apache服务 伪静态的实现有多种方法,比如通过获取path_info信息使用php逻辑来达到伪静态,使用Apache提 ...
- LAMP(Linux+Apache+MySQL+PHP)环境介绍、配置、搭建
文章目录 写在开头的话 LAMP的简要介绍 部署方式 LAMP环境搭建 环境准备 准备本地yum源 安装编译文件 关闭防火墙和SElinux 环境搭建 安装依赖包 安装 Apache 安装mysql ...
- 使用WampServer搭建本地PHP环境,绑定域名,配置伪静态
倡萌之前介绍过 USBWebserver 快速搭建本地PHP环境 ,推荐USBWebserver的原因在于它是绿色的,不需要安装,想使用就手动运行下即可.但是 USBWebserver 也有自身的弱点 ...
- 虚拟服务器伪静态怎么设置,虚拟主机怎么配置伪静态
启动步骤:进入虚拟主机管理中心,在网站基本功能板块,找到伪静态设置,选择对应的模板,确认即可生成伪静态文件. Linux系统,将程序开发者提供的伪静态规则文件.htaccess上传到网站根目录下即可. ...
- IIS 7.5 配置伪静态方法
之前在IIS 6.0 配置过伪静态:httpHandler实现.Net无后缀名Web访问.现在服务器硬件升级了,操作系统也升级成了Windows Server 2008,好吧.我们也来设置下IIS 7 ...
- php5中Xdebug配置安装步骤介绍
摘要: 本文讲的是php5中Xdebug配置安装步骤介绍, Xdebug版本下载 http://www.xdebug.com/download.php 注意在下载Xdebug时我们必须查看自己php版 ...
- php编程实现单入口,apache配置php实现单一入口方法
apache配置php实现单一入口方法 发布于 2016-02-10 16:25:51 | 198 次阅读 | 评论: 0 | 来源: 网友投递 Apache Web服务器Apache是世界使用排名第 ...
- nginx和apache的伪静态区别
在原来apche网站数据 转移到nginx服务器上 伪静态功能打开出错,先看一下apache的伪静态格式 apache伪静态: RewriteEngine on RewriteRule ^(.*)/a ...
- Apache配置(转载)
Apache配置 http://grid.tsinghua.edu.cn/home/liulk/publish/computer/ApacheConfig.html Linux Apache Web ...
最新文章
- Node2Vec:万物皆可Embedding
- saltstack 执行结果返回到mysql
- 苹果汽车高管几乎流失殆尽,一年损失7人,新年又有人被Meta挖走
- 设置网页打开默认全屏_提升Adsense收入的三个关键设置
- 编码实现字符串转整型的函数(实现函数atoi的功能)
- kmeans中的k的含义_聚类的Python实现(二):确定分群数K
- 邮件发送---SpringBoot
- linux中gedit中定义变量,linux中的gedit
- 冲啊电竞er,纵享游戏人生,你还需要一副索尼耳机!
- 必备读论文的黑科技!错过后悔!
- 19.为什么要用异步框架,它解决什么问题?
- 使用全备+binlog日志恢复数据库
- Python中MD5加密
- 银行电话营销数据分析
- 中文写代码?开始不信后来用中文写了剧情小游戏!嗯,真香~
- 浏览器输入url后经历的过程(详细)
- 仿真软件测试工程师麦克,仿真工程师面试经验 - 共61条真实仿真工程师面试经验分享 - 职业圈...
- 数值计算笔记-部分主元消去cholesky分解
- Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)
- javaScript封装的各种写法
热门文章
- linux 统计 程序运行时间
- owncloud个人私有云 一键安装包操作指南
- flask + apidoc 生成接口文档(附加一个坑)
- redis系列(三):python操作redis
- runloop的mode作用是什么?
- 使用python下载一些链接的软件包
- Party (Standard IO)
- hadoop重新启动之后Datanode无法启动的问题
- 我的小站:诗词在线 http://www.chinapoesy.com 欢迎大家测试速度。特别是网通的。...
- 会议室预定模拟登陆网站