美文网首页
apache伪静态.htaccess文件配置详解

apache伪静态.htaccess文件配置详解

作者: 雨落流年 | 来源:发表于2020-06-09 23:10 被阅读0次

前言

apache 服务器发展已有多年,各大平台的虚拟主机大多都是以php,静态页面建站为主,所以大多也用的是apache来作为服务器应用,以阿里云为例,像http.conf配置文件就未给到用户自行修改配置。所以,虚拟主机的直接部署方便但也大大受限,不过好在伪静态这方面是默认开启的,那么我们就可以根据伪静态文件配置来做到一个虚拟主机同ip多个站点多域名配置

1. 参考目录,如下图

目录实例参考

2. 规则书写

网站根目录下的.htaccess配置

    <IfModule mod_rewrite.c>
      Options +FollowSymlinks -Multiviews
      RewriteEngine On
    
      RewriteCond %{HTTP_HOST} ^$ [NC]
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    
      RewriteCond %{HTTP_HOST} ^www.zkycsj.com$ [NC]
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ /ks_project/public/$1 [QSA,PT,L]

      ErrorDocument 403  403配置页面或跳转链接
      ErrorDocument 404 404配置页面或跳转链接
      ErrorDocument 500 500配置页面或跳转链接
    </IfModule>

thinkphp的public文件夹下的.htaccess配置

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

  RewriteCond %{HTTP_HOST} ^虚拟主机已备案域名$ [NC]
  RewriteCond %{REQUEST_URI} ^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.xml)
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ ./$1 [QSA,PT,L]
  RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.xml)
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ ./index.php/$1 [QSA,PT,L]
</IfModule>

3.规则解读

  • 判断虚拟主机的该模块是否开启并安装
<IfModule mod_rewrite.c></IfModule>
  • 判断条件是否成立,相当于 if
RewriteCond (正则匹配)
  • 域名后面的路由
%{REQUEST_URI}
  • 请求的文件名
%{REQUEST_FILENAME}
  • 重写的路由规则
RewriteRule (正则匹配转发的占位变量) (具体的转发路径 $1代表第一个正则匹配,可匹配 $1 - $9)  (中括号中的值下一条详解)
  • 中括号中的字母代表意思
    -QSA 即qsappend 将来自原始请求URL的任何查询字符串追加到在重写目标中创建的任何查询字符串
    -PT即passthrough 强制将结果URI传递回URL映射引擎,以处理其他URI到文件名的翻译器,例如Alias或 Redirect。
    -L 即last 代表规则到这里终止,不在继续向下
    -NC 即nocase 不区分大小写
    -R=301/ R=302 临时重定向和永久重定向

相关文章

网友评论

      本文标题:apache伪静态.htaccess文件配置详解

      本文链接:https://www.haomeiwen.com/subject/honetktx.html