queryphp框架教程三 做SEO优化 以.html结尾去除index.php
前二篇教程
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
------解决方案-------------------- wow 顶
------解决方案-------------------- 试问LZ用过那几种框架
------解决方案--------------------
探讨 用过几种,目前基本是山寨symfony+doctrine ORM类 自己也在使用,不过感觉太大了,自己写一个小的。
------解决方案-------------------- 反反复复共发放给法国风格
------解决方案-------------------- 做OA,或企业网站,初学者.用什么框架好
------解决方案-------------------- 支持~~~~~~~~~~~~~~~~~~~~~~学习。
------解决方案-------------------- 学习了
------解决方案-------------------- urlrewrite老是不太明白