摘要:
通常的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 阅读全文
摘要:
ThinkPHP支持URL路由功能,要启用路由功能,需要设置URL_ROUTER_ON 参数为true。开启路由功能后,并且配置URL_ROUTE_RULES参数后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。3.0版本的路由支持做了增强,包含规则路由和正则路由支持。一、规则路由规则路由是由2.1版本的简单路由进化而来,定义格式为:格式1:'路由规则'=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2...'格式2:'路由规则'=>array('[分组 阅读全文
摘要:
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给CityAction类定义一个_empty (空操作)方法:12345678910111213141516171819202122232425city($name);}//注意 city方法 本身是 protected 方法protectedfunctioncity($name){//和$name这个城市相关的处理echo'当前城市'. $name;}}接下来,我们就可以在浏览 阅读全文
摘要:
空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的http://serverName/index.php/City/shanghai/变成 http://serverName/index.php/shanghai/这样更加简单的方式,如果按照传统的模式,我们必须给每个城市定义一个Action类,然后在每个Action类的index方法里面进行处理。 可是如果使用空模块功能,这个问题就可以迎刃而解了。 我们可以给项目定义一个EmptyAction类1 阅读全文
摘要:
模块分组功能是为了更好的组织已有的模块,并且增加项目容量的一个有效机制。分组功能可以把以往的多项目合并到一个项目中去,这样一来,之前需要采用跨项目操作的地方,现在因为在一个项目中从而免去了不少麻烦,并且公共文件的重用也方便了,并且每个分组都可以有自己独立的配置文件、公共文件、语言包,在URL的访问上面也非常清晰。模块分组相关的配置参数包括:配置参数说明APP_GROUP_LIST项目分组列表(配置即表示开启分组)DEFAULT_GROUP默认分组(默认值为Home)TMPL_FILE_DEPR分组模板下面模块和操作的分隔符,默认值为“/”VAR_GROUP分组的URL参数名,默认为g(普通模式 阅读全文