最完的htaccess文件用法收集整理

关于“最完的htaccess文件用法收集整理”的完整攻略,我将从以下几个方面进行详细讲解:

  1. htaccess概述及作用
  2. htaccess文件编写格式
  3. htaccess文件的常用用法收集整理
  4. 示例说明

接下来,我会一一对以上几点进行详细讲解。

1. htaccess概述及作用

.htaccess 文件(全称为“hypertext access”)是一种配置文件,它利用 Apache HTTP Server 中的 mod_rewrite、mod_alias 等模块来实现 URL 重写、缓存控制、跨域访问、防盗链等功能。

.htaccess 文件是一个隐藏的纯文本文件,通常位于网站根目录下。它可以配置指定目录及其子目录下的文件的访问规则、权限等信息,可以覆盖服务器默认配置,实现更灵活的配置控制。

2. htaccess文件编写格式

.htaccess 文件的编写格式需要注意以下几点:

  1. 文件名为.htaccess,前面有一个点,不能包含文件名后缀。
  2. 文件编码为UTF-8无BOM格式,不能使用特殊的换行符。
  3. htaccess文件使用一个空格或TAB键缩进,不能使用多余的空格。
  4. 每个指令以一个空行分隔。
  5. 号为注释符号,#后的内容为注释内容,不生效。

3. htaccess文件的常用用法收集整理

3.1 URL 重写

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

以上代码是一种典型的 URL 重写规则。它的作用是将所有经过服务器的请求(除非请求文件或目录存在)重定向到 index.php 文件并且作为 $_GET['url'] 参数传递。例如:http://example.com/some/path 会关联为 http://example.com/index.php?url=some/path

3.2 静态资源缓存控制

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 30 seconds"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

以上代码的作用是设置浏览器对静态资源的缓存时间。例如:如果浏览器已缓存了一张JPEG图片并且它的访问时间不超过1年,则浏览器重新访问该图片时会直接从缓存中读取。

4. 示例说明

以下是一个完整的.htaccess文件,其中的规则对社交媒体进行防盗链:

# 防盗链设置
RewriteEngine on
# 允许指定来源网站访问
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
# 图片、 JavaScript、CSS文件防盗链:阻止除指定网站以外的所有站点引用文件 
RewriteCond %{REQUEST_URI}  \.(jpeg|jpg|gif|png|bmp)$ [NC,OR]
RewriteCond %{REQUEST_URI}  \.(js|css)$ [NC]
RewriteRule .* - [F]

以上.htaccess文件会将除了自己网站以外的所有站点引用的 CSS、 JavaScript、图片等资源文件,全部拒之门外。

希望以上的讲解能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:最完的htaccess文件用法收集整理 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS3制作半透明边框(Facebox)类似渐变

    下面是关于“CSS3制作半透明边框(Facebox)类似渐变”的详细攻略: 1. 什么是Facebox效果 Facebox效果是指通过CSS3技术制作的一种类似渐变的半透明边框效果,可以用于美化网页中的图片、文本框等元素,突出他们的重要性和美观度。Facebox效果具有注重细节、奇妙而简洁的特点,而且可以实现的方式也非常简单,接下来我将向你介绍Facebox…

    css 2023年6月9日
    00
  • Div+Css实现屏蔽效果

    DIV+CSS实现屏蔽效果通常是通过CSS属性设置元素的可见性和定位方式,以达到遮盖其他元素的目的。下面是一个完整的攻略: 实现思路 创建遮罩层元素,使用绝对定位和半透明背景颜色实现遮盖效果; 通过设置遮罩层元素的z-index属性值来使它位于要屏蔽的元素之上; 设置要屏蔽的元素的可见性(visibility)为隐藏(hidden),或者通过CSS属性设置它…

    css 2023年6月10日
    00
  • 在IE下,当margin:0 auto;无法使得块级元素水平居中时

    在IE下,当margin: 0 auto;无法使块级元素水平居中的情况有很多,通常的解决方法是使用IE特有的hack或使用称为Flexbox的CSS3属性。以下是两种解决方法的示例说明: 方法一:使用IE特有的hack 当块级元素没有固定宽度或采用绝对定位时,margin: 0 auto;可能无效。一个解决办法是使用IE特有的hack,例如设置text-al…

    css 2023年6月9日
    00
  • CSS3属性box-shadow使用详细教程

    CSS3属性box-shadow使用详细教程 box-shadow是CSS3新增的一个属性,可以为元素创建一个或多个投影。通过box-shadow属性,我们可以实现一些光影效果,比如阴影、发光等。 语法与用法 box-shadow属性的语法如下: box-shadow: h-shadow v-shadow blur spread color inset; 其…

    css 2023年6月9日
    00
  • 微信小程序开发的基本流程步骤

    下面是微信小程序开发的基本流程步骤的完整攻略。 1. 注册开发者账号 首先需要注册成为微信开发者,通过微信公众号平台申请成为小程序开发者。 2. 创建小程序应用 登录微信小程序官网,选择“创建小程序”,输入小程序的名称、应用ID(需向微信申请)、应用描述等信息,然后选择适合你的开发者类型和类目。 3. 下载并安装开发工具 在开发者工具的官网下载安装包,安装完…

    css 2023年6月9日
    00
  • css教程:网页字体及字体大小的设计

    下面是针对“css教程:网页字体及字体大小的设计”的完整攻略。 一、网页字体 在设计网页时,字体是非常重要的一个元素。合适的字体风格能够更好地展现网页的内容,增加用户体验感。在使用CSS样式进行字体设计时,我们需要学习以下几种方案。 1. 系统字体: 在CSS中,定义一个元素的字体可以使用font-family属性。该属性允许定义一个CSS系统字体,或者一系…

    css 2023年6月10日
    00
  • 使用css3绘制出各种几何图形

    下面是使用CSS3绘制出各种几何图形的攻略。 1. 利用CSS3的border属性绘制图形 CSS3中的border属性可以设置元素的边框样式,利用它可以绘制出三角形、箭头、矩形等图形。 绘制三角形 通过修改元素的border样式来实现绘制三角形,具体代码如下: .triangle { width: 0px; height: 0px; border-top:…

    css 2023年6月9日
    00
  • CSS浮动引起的高度塌陷问题

    CSS浮动引起的高度塌陷问题是我们在进行页面布局时常常会遇到的问题。这种情况会导致元素高度不稳定,影响页面的美观和用户体验。下面是一份完整攻略,希望能够帮助您更好地理解和解决这个问题。 什么是高度塌陷问题? CSS浮动引起的高度塌陷问题是指,当我们设置了一个元素为浮动元素后,其它元素的高度和位置受到影响,可能会出现“塌陷”的情况。具体表现为: 父元素高度不被…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部