最近基于thinkphp开发了个导购网站,现在有时间,将遇到的伪静态问题整理下,与大家分享。
1.设置URL伪静态
在config.ini.php中设置,如果只想前台URL伪静态,那么只在前台的config.php文件中设置就可以,如下:

'URL_MODEL'=>2,
'URL_HTML_SUFFIX' =>'.html',

这样就可以将原来如:
改动前:http://www.ipbia.com/index.php?m=index&a=index
改动后:http://www.ipbia.com/index.php/Index/index.html
其中'URL_MODEL'=>2设置url的方式,'URL_HTML_SUFFIX' =>'.html'设置后缀。

2.将index.php隐藏。
官网提供了比较详细的linux下的配置方式,参考官网就可以,我这边主要
提供IIS下面的伪静态配置,先直接给出两种环境下的配置。
*支持.htaccess文件的配置如下
创建一个.htaccess文件,内容为:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

保存后放到网站的根目录下就可以。

*IIS下的配置如下
创建一个web.config,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer> 
<rewrite>
<rules>
<rule name="rule 3S" stopProcessing="true">
<match url="^(.*)$" />
<conditi>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditi>
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

同理保存放到网站的根目录下就可以,这两个环境的路由规则是一样的,因此实现的功能效果也是一样的。
改动前地址::http://www.ipbia.com/index.php/Index/index.html
改动后地址:http://www.ipbia.com/Index/index.html

3.URL地址简化
如果觉得我们以上的伪静态地址路径层次够深,想直接在根目录下的地址如:
http://www.ipbia.com/index_index.html
对搜索引擎更友好,那么可以在配置文件中设置:

'URL_PATHINFO_DEPR' => '_',

这样就可以简化URL的层级。
改动前地址:http://www.ipbia.com/Index/index.html
改动后地址:http://www.ipbia.com/Index_index.html

4.排除CSS、png等资源文件
我们设置完伪静态后可能,在访问页面的时候可能会出现部分css、图片等无法加载 的问题,那么我们可以设置路由规则,排除指定的文件类型,这样就不会受影响。
规则如下,由于.htaccess的排除规则网上很多,这里不再详述,基于IIS下的资料 比较少,目前提供IIS下的配置内容 。

<rule name="rule 2S" stopProcessing="true">
<match url="(.*\.(js|ico|gif|jpg|png|flv|swf|css))$" />
<action type="Rewrite" url="//{R:1}" />
</rule>

5.设置绝对路径.
如果以上方法还未完全解决路径问题,那么您的资源文件的路径最好设置为绝对路径,可以以开头。

综合以上的几个步骤,网站的伪静态工作,应该可以完美解决了,今天就写到这了,希望对大家有用。

作者:拍喜欢 www.ipbia.com 转载请标明来源,谢谢。

转载于:https://www.cnblogs.com/hellowzd/p/4146647.html

SEO之基于thinkphp的URL伪静态相关推荐

  1. TP3.2设置URL伪静态满足更好的SEO效果

    URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行. ...

  2. php如何生成伪静态url,thinkphp控制器(三) 伪静态及URL生成

    URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行.例 ...

  3. ThinkPHP下隐藏index.php以及URL伪静态

    第一种方法: 设置url的重写模式(默认模式是1) 'URL_MODEL' => 2, // URL访问模式,可选参数0.1.2.3,代表以下四种模式: 第二种方法:  使用Apache来进行设 ...

  4. php7cms框架,GitHub - itsky71/itskycms: 基于ThinkPHP框架的一个CMS系统

    ITskyCMS简介 ITskyCMS 是一款完全开源免费的PHP+MYSQL系统.核心采用了Thinkphp框架,同时也作为开源软件发布.集众多开源项目于一身的特点,使本系统从安全,效率,易用及可扩 ...

  5. php url重写配置,浅谈ThinkPHP的URL重写

    我想要的结果无非是去掉URL路径中的index.php 首先是配置.htaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rewr ...

  6. 基于ThinkPHP框架开发的漂亮的家装修公司网站PHP源码

    源码介绍 基于ThinkPHP框架开发的仿生活家装修公司网站是一款采用ThinkPHP3.2.3内核开发的一款装饰公司网站PHP源码,整个界面主要仿照生活家装饰公司的风格,网站界面大气,直接安装使用即 ...

  7. php基于thinkphp、smarty\CodeIgniter构建的开源的淘宝客cms程序下载

    现在有很多开源的淘宝客软件cms,很多人不知道,所以,提供该服务,完全开源,比市面上的加密的好很多, 这些开源的淘宝客程序代码写的都非常简约,适合学习观摩,所以,收集了一些优秀的开源源码,整理成下载地 ...

  8. thinkphp url去掉index.php,thinkphp 去掉URL 里面的index.php(?s=)

    例如你的原路径是 http://localhost/test/index.php/home/goods/index.html 那么现在的地址是 http://localhost/test/home/g ...

  9. ThinkCMF是一款支持Swoole的开源内容管理框架,基于ThinkPHP开发,同时支持PHP-FPM和Swoole双模式,让WEB开发更快!

    简介: ThinkCMF5.1主要特性 更改框架协议为MIT,让你更自由地飞 基于ThinkPHP 5.1重构,但核心代码兼容5.0版本,保证老用户最小升级成本 增加对swoole支持,同时支持swo ...

最新文章

  1. 电子学会青少年编程等级考试Python案例10
  2. 基本系统部署完成!北斗三号闪耀中国智慧
  3. brew 安装PHP的配置文件所在位置
  4. 四层负载均衡和七层负载均衡的区别
  5. Netweaver和CloudFoundry的log设置
  6. Linux中的selinux
  7. 【转】ABP源码分析二十二:Navigation
  8. Java笔记-Java中桥接模式
  9. Flutter State生命周期 Flutter Widget生命周期 Flutter 应用程序生命周期
  10. 七人のオンラインゲーマーズ 全年龄正式汉化补丁
  11. [BZOJ1877][SDOI2009]SuperGCD
  12. 《C程序设计语言》 第三章 控制流
  13. C#中使用消息队列服务
  14. 7-4 sdut-运输计费问题 (10 分)python
  15. 吊打面试官之redis篇:一文全懂redis
  16. 如何用MATLAB编写FIR维纳滤波器,FIR维纳滤波器的Matlab仿真验证.ppt
  17. STM32单片机热敏打印自助排队叫号系统银行医院柜台DY-SV17F语音播报
  18. 中国 省会 地级市 经纬度 city array
  19. rewrite break
  20. 大文件上传NeatUpload简单用法 (转)

热门文章

  1. HFSS模型导入到Altium Desiger步骤
  2. mysql:mysql版本
  3. tensorflow预定义经典卷积神经网络和数据集tf.keras.applications
  4. 工作一个星期的总结!
  5. 【廖雪峰python总结】python高级特性,函数式编程,面向对象编程,面向对象高级编程
  6. Linux运维交流学习
  7. JavaScript实现论坛发贴等功能
  8. 企业数字化转型系列报告 —— 低代码行业研究报告
  9. 华为VLAN下应用ACL
  10. 4、安全理论与框架-企业架构模型(EA)-DoDAF国防部架构框架