> ## Content Index
> Fetch the complete content index at: https://blog.k3s.9zf.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# 整理我所知道的.htaccess所有参数和功能
- URL: https://blog.k3s.9zf.net/-e6-95-b4-e7-90-86-e6-88-91-e6-89-80-e7-9f-a5-e9-81-93-e7-9a-84-htaccess-e6-89-80-e6-9c-89-e5-8f-82-e6-95-b0-e5-92-8c-e5-8a-9f-e8-83-bd/
- Published: 2010-04-13T08:33:15.000Z
- Updated: 2010-04-13T08:33:15.000Z
- Author: liu
- Tags: Linux, web服务器, #wordpress, #Import 2026-10-29 06:11

保护特定文件类型

以下代码段可禁止在目录中使用.jpeg, .jpg, .png. 以及 .gif文件外所有文件,只允许访问括号内的扩展名的文件：

> <Files ^(\*.jpeg|\*.jpg|\*.png|\*.gif)>
> 
> order deny,allow
> 
> deny from all
> 
> </Files>

和上面的功能一样,

Allow为允许指定类型;

Deny即为禁止指定类型;

> <FilesMatch “\\.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$”>
> 
> Allow from All
> 
> </FilesMatch>

禁止脚本执行

浏览器发送请求时，使用以下代码可以禁止执行.pl, .cgi 或者 .php等可执行脚本。通过以下代码，Web浏览器将这些可执行文件当作文本文件来处理。这些文件会在浏览器窗口中以普通文本形式显示出来。

> AddType text/plain .pl .cgi .php

Options -ExecCGI指令是.htaccess文件中一个作用较广泛的指令。该指令决定.htaccess文件中哪些内容是其它Apache模块所允许的。-ExecCGI规定，如果文件被记录由 cgi-script处理器进行处理，该文件将不允许出现。 第二行中的AddHandler指令列举了cig-scripts的所有文件扩展名，所有尝试获取这些文件的请求都会被返回403错误——访问被拒绝。

> Options -ExecCGI
> 
> AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

最后你还可以使用一个指令来命令文件类型（非处理器）。该指令删除所有与扩展名相关的处理器和动作，然后以文本/普通形式使用文件，但该指令不会改写之前的示例范围。

> <FilesMatch “\\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$”>
> 
> ForceType text/plain
> 
> </FilesMatch>

保护特定文件类型以下代码段可禁止在目录中使用.jpeg, .jpg, .png. 以及 .gif文件外所有文件,只允许访问括号内的扩展名的文件：

> <Files ^(\*.jpeg|\*.jpg|\*.png|\*.gif)> order deny,allow deny from all</Files></code>和上面的功能一样,Allow为允许指定类型;Deny即为禁止指定类型;<code><FilesMatch “\\.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$”>Allow from All</FilesMatch>

禁止脚本执行浏览器发送请求时，使用以下代码可以禁止执行.pl, .cgi 或者 .php等可执行脚本。通过以下代码，Web浏览器将这些可执行文件当作文本文件来处理。这些文件会在浏览器窗口中以普通文本形式显示出来。

> AddType text/plain .pl .cgi .php 

Options -ExecCGI指令是.htaccess文件中一个作用较广泛的指令。该指令决定.htaccess文件中哪些内容是其它Apache模块所允许的。-ExecCGI规定，如果文件被记录由 cgi-script处理器进行处理，该文件将不允许出现。 第二行中的AddHandler指令列举了cig-scripts的所有文件扩展名，所有尝试获取这些文件的请求都会被返回403错误——访问被拒绝。

> Options -ExecCGIAddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

最后你还可以使用一个指令来命令文件类型（非处理器）。该指令删除所有与扩展名相关的处理器和动作，然后以文本/普通形式使用文件，但该指令不会改写之前的示例范围。

> <FilesMatch “\\.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$”>ForceType text/plain</FilesMatch>

失效图片重定向

> RewriteCond %{REQUEST\_FILENAME} !-f  
> RewriteRule ^(.\*)\\.(jpg|gif|png|bmp)$ /error.jpeg \[L,R=301\]