zoukankan      html  css  js  c++  java
  • 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 转载请标明来源,谢谢。

  • 相关阅读:
    转: wireshark过滤规则
    PHP开发
    转:python安装pycrypto
    How to use pycharm to debug scrapy projects
    VCForPython27.msi安装后, 还显示error: Unable to find vcvarsall.bat
    Dcgpofix
    Dsamain
    组托管服务帐户概述
    创建 PSO
    介绍 Active Directory 域服务 (AD DS) 虚拟化
  • 原文地址:https://www.cnblogs.com/hellowzd/p/4146647.html
Copyright © 2011-2022 走看看