日期:2014-05-17  浏览次数:20638 次

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老是不太明白