齐博x1第一季《新手入门》系列014-伪静态的相关设置
1466
12

X1因为是基于thinkphp开发的,所以伪静态的设置就是thinkphp的设置


其实我们这里X1设置伪静态也就是为了隐藏index.php而设置,其他的url美化路径,修改后缀如html等都是通过路由来设置了

伪静态配置好后,这里才可以设置,否则网站打开会出现错误,或者永远是首页


不同的web服务器设置不同,以下列举常用的搭配设置,其他的略去不提

我们常用的web服务器:Apache、IIS、nginx三种,应该是目前最多的

一般就是这几种搭配 linux+apache 、linux+nginx、win+iis、win+apache 

win+nginx都很少了。

linux+apache环境,直接设置.htaccess, 用thinkphp官方提供的默认即可,如下:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

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

win+apache环境  比如phpstudy这种套件配置的环境也是设置.htaccess但是有些特别,如果是全新安装,那就不用配置,直接使用x1里默认的即可

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>



Linux+Nginx环境 也是直接用thinkphp官方提供的配置即可,nginx是在站点的conf里配置,如果是虚拟主机,在vhost中配置xxx.conf然后include xxx.conf,当然写入到具体站点的conf里也是可以的


location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }



Win+IIS环境  IIS可能有些人觉得是最麻烦的,其实直接复制代码也很简单,IIS7.5以上配置web.config即可。当然前提是服务器需要安装url_rewrite

web.config如果没有其他配置,直接复制下面完整的代码到web.config就可以了,如果web.config有其他的配置,需要注意rules的嵌套。IIS7以下的环境就忽略了,建议升级系统吧。

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
  <system.webServer>  
    <rewrite>  
      <rules>  
        <rule name="WPurls" enabled="true" stopProcessing="true">  
          <match url=".*" />  
          <conditions logicalGrouping="MatchAll">  
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />  
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />  
          </conditions>  
          <action type="Rewrite" url="index.php/{R:0}" />  
        </rule>  
      </rules>  
    </rewrite>  
  </system.webServer>  
</configuration>




看更多教程,请到 https://www.shieldsoho.com/sp-5.html



9
赏礼
赏钱
收藏
点击回复
      全部留言
  • 12
  • 谈笑淡轻云-2883 实战运营者 消费:91.03元 2020-05-06 21:01 21:016楼
    将AllowOverride设置为none可以完全禁止使用.htaccess文件:
    AllowOverride None
0 赏钱 赏礼回复
  • 汕林钬 普通粉丝 消费:0.01元 2020-05-06 17:52 17:526楼
    请问怎么隐藏/member.php/home/1.html中的member.php呢?
0 赏钱 赏礼回复
0 赏钱 赏礼回复
  • aria 普通粉丝 消费:2460.49元 2019-07-11 20:14 20:146楼

    主要是.htaccess中的几行代码搞不懂是什么意思,能否解释一下。

    阿赖耶识 消费:24.43元 2019-07-11 21:27
    <IfModule mod_rewrite.c>   固定标记,头尾闭合
      Options +FollowSymlinks -Multiviews  大概是服务器没有默认设置某规则,会选择调用,具体也不是很清楚 
      RewriteEngine On  启动重写引擎
    
      RewriteCond %{REQUEST_FILENAME} !-d    判断如果改路径不是目录,就执行下面一条语句
      RewriteCond %{REQUEST_FILENAME} !-f    判断如果改路径不是文件,就执行下面一条语句
      RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 这个就是主要的针对index.php的隐藏规则
    </IfModule>

    知道单几条语句什么意思,没什么意义,一般这些都是直接复制过来用,如果你真想聊天详细的语法配置,需要掌握基本的apache的内部机制和相关伪静态的配置,还有正则表达式

    下面这篇文章讲解的非常非常详细,想学习.hracess的相关配置,可以详细阅读下

    https://blog.csdn.net/weilee2009/article/details/12905081


    aria 消费:2460.49元 2019-07-11 21:29
    谢谢
1 赏钱 赏礼回复
  • aishang 普通粉丝 消费:0元 2019-07-11 17:02 17:026楼

0 赏钱 赏礼回复
  • 银杏114在线 实战运营者 消费:3609.79元 2019-07-11 14:07 14:07
    华为
    6楼
    顶一下
0 赏钱 赏礼回复
  • 石头 风格开发者 消费:21923.34元 2019-07-11 10:50 10:50
    小米
    6楼
    很赞
0 赏钱 赏礼回复
  • snscn 普通粉丝 消费:1862.35元 2019-07-11 10:32 10:32
    其他手机
    6楼
    投月票
    阿赖耶识 消费:24.43元 小米 2019-07-11 10:47
     
0 赏钱 赏礼回复
更多回复
恢复多功能编辑器
  • 3 1
  • 神盾SOHO
        圈内贴子3394
    • 圈子成员260
    本圈子内的新贴

    推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648