queryphp框架教程三 做SEO优化 以.html结尾去除index.php

uuq 2010-03-10 11:00:59
前二篇教程
http://topic.csdn.net/u/20100228/22/3bea834b-efc0-4aa0-af4a-a4923af8b60c.html
http://topic.csdn.net/u/20100226/12/43bf3dc5-795f-4fa5-861a-2f7bf8fd0cd6.html
下载 目前最新0.9.6.8beta版
http://code.google.com/p/queryphp/downloads/list

去除index.php测试

C:\WINDOWS\system32\drivers\etc\hosts文件添加一行
内容如下
127.0.0.1 localhost
192.168.0.10 www.app.com

192.168.0.10的是你自己apache使用的IP,就是下面<VirtualHost *:80>
*号中的IP,反证能访问你的本地网卡就可以了

http://www.app.com/queryphp/project/index.php/default/index
配置后希望可以变成这样子
http://www.app.com/queryphp/project/default/index.html
记得在inc.ini.php文件里面加多一行
$config['html']='.html'; 或把前面那个//去掉,这样就可以了
虚拟主机配置测试,AllowOverride FileInfo 将会使用.htaccess配置
<VirtualHost *:80>
<Directory "D:/work">
Order allow,deny
Allow from all
AllowOverride FileInfo
</Directory>
DocumentRoot "D:/work"
ServerName "www.app.com"
</VirtualHost>


.htaccess文件 放在project目录下面 就是每个项目目录下面,这样就会访问同级目录
index.php文件

RewriteEngine On

# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /

# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]

# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f

# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]


------------------------------------------------------------
程序中使用url_for()方式


模板中示示例 我们还是以CURD方式

<td><a href="<?php echo url_for("curd/edit/id/".$value['bookid'])?>">编辑</a></td>
<td><a href="<?php echo url_for("curd/delete/id/".$value['bookid'])?>">删除</a></td>

下载后在并在apache设置www.app.com 在c:/windows/system
http://www.app.com/queryphp/project/curd/index

是不是可以显示内容了


如果显示了 在framework\config\inc.ini.php 文件中把下面这行内容去掉注释
//$config['html']='.html';//开启.html结尾url


http://www.app.com/queryphp/project/curd/index.html 访问
是不是可以看到内容了

所有链接都带.html结尾了。那我们有时候想不要.html结尾怎么办
<a href="<?php echo url_for("curd/delete/id/".$value['bookid'],true)?>">删除</a>

url_for(url,true);方式 表示不要html结尾
删除会变成这样子
http://www.app.com/queryphp/project/curd/delete/id/2
...全文
416 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuahuilele 2010-03-10
  • 打赏
  • 举报
回复
顶......................
uuq 2010-03-10
  • 打赏
  • 举报
回复
这个建一个小网站应该没有什么问题了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧