关于“最完的htaccess文件用法收集整理”的完整攻略,我将从以下几个方面进行详细讲解:
- htaccess概述及作用
- htaccess文件编写格式
- htaccess文件的常用用法收集整理
- 示例说明
接下来,我会一一对以上几点进行详细讲解。
1. htaccess概述及作用
.htaccess
文件(全称为“hypertext access”)是一种配置文件,它利用 Apache HTTP Server 中的 mod_rewrite、mod_alias 等模块来实现 URL 重写、缓存控制、跨域访问、防盗链等功能。
.htaccess
文件是一个隐藏的纯文本文件,通常位于网站根目录下。它可以配置指定目录及其子目录下的文件的访问规则、权限等信息,可以覆盖服务器默认配置,实现更灵活的配置控制。
2. htaccess文件编写格式
.htaccess
文件的编写格式需要注意以下几点:
- 文件名为
.htaccess
,前面有一个点,不能包含文件名后缀。 - 文件编码为UTF-8无BOM格式,不能使用特殊的换行符。
- htaccess文件使用一个空格或TAB键缩进,不能使用多余的空格。
- 每个指令以一个空行分隔。
-
号为注释符号,#后的内容为注释内容,不生效。
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技术站