zoukankan      html  css  js  c++  java
  • 关于thinkphp中的重写规则

    我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如:


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

    它的作用就是设置URL重写以隐藏URL中含有的index.php。一般来说URL过长或者动态化的URL都不利于SEO因此隐藏的目的就是要达到更好的SEO效果。
         明白了.htaccess文件的作用,接下来就是让它工作起来。
    要使.htaccess文件起作用,通常需要服务器开启URL_REWRITE模块才能支持。


    下面是Apache的配置过程:

    1、httpd.conf配置文件中加载了mod_rewrite.so模块
        在httpd.conf配置文件搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)去掉前面的#

    2、AllowOverride None 将None改为 All
        在httpd.conf配置文件找到“AllowOverride None”将None改为 All。这点值得注意的是,“AllowOverride None”在文件中能找到几处,但要改的却只有一处。如图所示:

    3、确保项目(一般是前台项目)配置文件的URL_MODEL设置为2

    4、把.htaccess文件放到入口文件的同级目录下

    在本地学习实践,不管是安装集成服务器环境如wampserver或者独立安装(Apache+php+mysql分别下载安装)
    都可以按照上面的步骤操作。

         如果您的网站放到虚拟服务器上,您对网站内容所在的服务器没有管理员权限,或者您的网站内容放在ISP的服务器上托管,无法改写主配置文件httpd.conf,怎么办呢?一般来说主配置文件httpd.conf已经开启了mod_rewrite.so模块,您要做的就是在您的网站空间找到httpd.conf文件(不是主配置文件,里面的配置只对您的网站起作用),并把“AllowOverride All”写到其中。

    本文首发志博客,欢迎转载!转载请注明本文地址,谢谢。  

    本文地址:http://www.w3note.com/web/37.html

    专注于手机端的app,小程序,H5以及微信公众号提供解决方案
  • 相关阅读:
    JDK安装,环境配置
    XSS攻击测试代码
    css3 input边框蓝光特效
    PDFobject插件使用,PDF在线查看插件
    网页中嵌入可以点击“运行代码”执行html/css/js代码
    SmohanTimeLine.js 酷炫的时间轴效果
    java进行文件上传,带进度条
    javascript读取xml文件
    C# 动态类型与动态编译简介
    Mac 命令行美化
  • 原文地址:https://www.cnblogs.com/ewblgo/p/2750033.html
Copyright © 2011-2022 走看看