摘要: .htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。Unix、Linux系统或者是任何版本的Ap 阅读全文
posted @ 2013-05-17 14:34 飞鱼flyfish 阅读(153) 评论(0) 推荐(0)
摘要: 最近,受朋友委托,帮忙写一套多用户博客系统,要求每一个注册用户根据会员名自动生成二级域名指向,比如:你注册的用户名是:hengbo,主站域名:cycf.org.cn,那这个用户的博客地址是:hengbo.cycf.org.cn;首先我想到的是用泛域名解析,然后修改apache中的虚拟主机绑定,第一步:打开域名解析服务器,添加一条A记录,其中,“主机名”填写“*”,“指向”填写为自己网站的服务器IP。这样所有//北京php培训*.cycf.org.cn都指向202.20.88.44 所以不管你申请什么名字,如:chenwenming.cublog.cn都解析到这个IP上。最主要的是apache的 阅读全文
posted @ 2013-05-17 14:30 飞鱼flyfish 阅读(2643) 评论(0) 推荐(0)
摘要: 在apache下建立多个站点 在httpd.conf中使用如下内容 NameVirtualHost 211.161.197.119 ServerName bug.54ncr.com DocumentRoot /www/http/mantisbt ServerName mycity.54ncr.com DocumentRoot /www/http/billing_system =================================================================ServerAlias... 阅读全文
posted @ 2013-05-17 14:28 飞鱼flyfish 阅读(480) 评论(0) 推荐(0)
摘要: 1.重写 去除index.php .htaccessRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]伪静态 config.php//'配置项'=>'配置值''URL_MODEL'=>2,'URL_PATHINFO_DEPR'=>'-',示例 :http://www.myapp.im/User- 阅读全文
posted @ 2013-05-17 14:27 飞鱼flyfish 阅读(149) 评论(0) 推荐(0)
摘要: ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。例如,我们设置'URL_HTML_SUFFIX'=>'shtml'的话,我们可以把下面的URLhttp://serverName/Blog/read/id/1变成http://serverName/Blog/read/id/1.shtml后者更具有静态页面的URL特征,但是具有和前面的URL相同的执行效果,并且不会影响原来参数的使用。注意:伪静态后缀设置时可以不包含后缀中的“.”。所以,下面的配置其实是等 阅读全文
posted @ 2013-05-17 14:22 飞鱼flyfish 阅读(327) 评论(0) 推荐(0)
摘要: 通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so模块2、AllowOverride None 将None改为 All3、确保URL_MODEL设置为24、把下面的内容保存为.htaccess文件放到入口文件的同级目录下1234567RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dR 阅读全文
posted @ 2013-05-17 14:21 飞鱼flyfish 阅读(236) 评论(0) 推荐(0)
摘要: ThinkPHP支持URL路由功能,要启用路由功能,需要设置URL_ROUTER_ON 参数为true。开启路由功能后,并且配置URL_ROUTE_RULES参数后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。3.0版本的路由支持做了增强,包含规则路由和正则路由支持。一、规则路由规则路由是由2.1版本的简单路由进化而来,定义格式为:格式1:'路由规则'=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2...'格式2:'路由规则'=>array('[分组 阅读全文
posted @ 2013-05-17 14:20 飞鱼flyfish 阅读(477) 评论(0) 推荐(0)
摘要: 空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给CityAction类定义一个_empty (空操作)方法:12345678910111213141516171819202122232425city($name);}//注意 city方法 本身是 protected 方法protectedfunctioncity($name){//和$name这个城市相关的处理echo'当前城市'. $name;}}接下来,我们就可以在浏览 阅读全文
posted @ 2013-05-17 06:25 飞鱼flyfish 阅读(190) 评论(0) 推荐(0)
摘要: 空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的http://serverName/index.php/City/shanghai/变成 http://serverName/index.php/shanghai/这样更加简单的方式,如果按照传统的模式,我们必须给每个城市定义一个Action类,然后在每个Action类的index方法里面进行处理。 可是如果使用空模块功能,这个问题就可以迎刃而解了。 我们可以给项目定义一个EmptyAction类1 阅读全文
posted @ 2013-05-17 06:24 飞鱼flyfish 阅读(209) 评论(0) 推荐(0)
摘要: 模块分组功能是为了更好的组织已有的模块,并且增加项目容量的一个有效机制。分组功能可以把以往的多项目合并到一个项目中去,这样一来,之前需要采用跨项目操作的地方,现在因为在一个项目中从而免去了不少麻烦,并且公共文件的重用也方便了,并且每个分组都可以有自己独立的配置文件、公共文件、语言包,在URL的访问上面也非常清晰。模块分组相关的配置参数包括:配置参数说明APP_GROUP_LIST项目分组列表(配置即表示开启分组)DEFAULT_GROUP默认分组(默认值为Home)TMPL_FILE_DEPR分组模板下面模块和操作的分隔符,默认值为“/”VAR_GROUP分组的URL参数名,默认为g(普通模式 阅读全文
posted @ 2013-05-17 06:23 飞鱼flyfish 阅读(315) 评论(0) 推荐(0)