SEO之基于thinkphp的URL伪静态
最近基于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 转载请标明来源,谢谢。
SEO之基于thinkphp的URL伪静态的更多相关文章
- (转)nginx下基于ThinkPHP框架的网站url重写
nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪 ...
- ThinkPHP的URL重写+路由+伪静态,实现SEO效果。
1.URL重写,隐藏网址中的Index.php. ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP提供了各种机制来定制需要的 URL 格式 ...
- ThinkPHP - URL - 伪静态 - 路由 - 重写
URL: 一.URL规则 1.默认是区分大小写,可以修改(配置文件)为不区分大小写. 2. //修改URL大小写问题 'URL_CASE_INSENSITIVE' =>true, 如果模块名为 ...
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...
- TP3.2设置URL伪静态满足更好的SEO效果
URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行. ...
- thinkphp之url的seo优化
1.网站url做seo优化的原因 SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”.SEO是指通过对网站进行站内优化(网站结构调整.网站内容建设 ...
- ThinkPHP下隐藏index.php以及URL伪静态
第一种方法: 设置url的重写模式(默认模式是1) 'URL_MODEL' => 2, // URL访问模式,可选参数0.1.2.3,代表以下四种模式: 第二种方法: 使用Apache来进行设 ...
- ThinkPHP URL伪静态、路由规则、重写、生成
一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 ...
- thinkphp如何实现伪静态
去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 ...
随机推荐
- C 标准库IO缓冲区和内核缓冲区的区别
1.C标准库的I/O缓冲区 UNIX的传统 是Everything is a file,键盘.显示器.串口.磁盘等设备在/dev 目录下都有一个特殊的设备文件与之对应,这些设备文件也 ...
- 锻造完美U盘小偷:活用消息机制
锻造完美U盘小偷:活用消息机制作者:灰狐来源:灰狐's Blog 注:本文已发表在<黑客防线>2008年第1期,转载请注明出处. 以前经常看到有人做出一些蛮有意思的小工具,其中最多的似乎就 ...
- nginx实战六
Nginx错误日志 https://coding.net/u/aminglinux/p/nginx/git/blob/master/log/error.md Nginx错误日志平时不用太关注,但是一旦 ...
- jenkins构建自动执行jmeter 发送http请求,中间有替换参数路径
#在构建目录下创建jmeter目录,在这个目录下面执行jmeter性能测试mkdir -p $WORKSPACE/target/apache-jmeter-3.1/#复制jmeter文件到执行测试目录 ...
- c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题
c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...
- MYSQL 更改数据库data存储目录 创建用户 创建权限 设置远程访问的权限.
一. 怎么更改数据库data存储目录: 1. 安装MYSQL. 2. 切换到 C:\Program Files\MySQL\MySQL Server 5.6 3. 新建my.ini. 加入如下配置: ...
- Centos 5.6安装Mysql(步骤,疑问)
1.安装步骤 yum install mysql yum install mysql-server yum install mysql-devel chgrp -R mysql /var/lib/my ...
- openstack_swift源代码分析——Swift单机部署
本文对在单机部署swift 当中每个细节做具体的介绍,并对配置做对应的解释 PC物理机 Ubuntu-12.04-desktop-64位 Swift 版本号:1.13.1 Swift-clien ...
- [na][win]AD域组策略wifi自动配置
http://wenku.baidu.com/link?url=MC950wliAZNeVUJ2M6Y1VTi5faqo7kG374fyBjW57r0qyLJkBZLg5ypiql4RFywQ8q7y ...
- Linux环境下搭建测试环境(LAMP详细说明)
一.安装虚拟机与CentOS7 传送门:https://www.cnblogs.com/mrgavin/p/9372393.html 注意:以下安装,我都是用的root权限. 二.安装Apache1. ...