此文章采用的在线翻译,有些不能保证翻译的准确,请谅解!
我们不时听到一个叫做“the .htaccess
”的东西(例如,发音为“point ax té axis esse”)。它到底是干什么用的?我需要一个?你应该在里面放什么?我们可以在里面放什么?
一般的
简短版本:.htaccess
服务器“使用”这些文件来个性化对网页的访问。
长版:
文件.htaccess
(或“分布式配置文件”)提供了一种在每个目录级别修改服务器配置的方法。包含一个或多个配置指令的文件被放置在特定的文档目录中,其指令适用于该目录及其所有子目录。
为了避免在某些配置中通过 FTP 传输问题,建议以换行符结束文件。
在免费托管上,允许的指令是有限的,并且没有正式记录,这使网站管理员的任务变得复杂。我在这里尝试尽可能详尽地列出清单。Apache Foundation 站点上提供了每个 Apache 指令的特定文档:Apache HTTP Server 版本 2.2 文档。
所有指令Options
都可以通过前面的指令添加或从 Apache 的初始配置中删除,+
或者-
根据需要。这些指令Options
可以组合在一行中,用空格分隔(例如Options -Includes -Indexes +MultiViews
)。
Free个人页面的.htaccess
“最小”文件
此文件将放置在帐户的根目录下。它允许您为您的帐户最低限度地配置 Apache 服务器。
<IfDefine Free>
php 1
</IfDefine>
Options -Indexes
如果您的站点仅包含静态 html 页面(不使用 PHP),您可以使用这些指令来替换以前的指令,更适合您的情况(如果您使用服务器端包含,请删除指令-Includes
):
Options -Indexes -ExecCGI -FollowSymLinks -Includes
最著名的功能是访问限制
使用.htaccess
,可以禁止所有人访问站点或目录,或仅限制某些人访问。
为了限制访问(回想一下,在免费网站上,网站必须至少有网站的某个部分可供所有访问者免费访问),免费常见问题解答中给出了解释:页面的个性化(限制)。请注意,密码以纯文本形式存储在密码文件中:因此,该文件也应防止访问(deny from all
在.htaccess
包含它的目录中)!
方法
可以通过一个或多个标识符/密码来限制对文件夹(及其子文件夹)的访问。
要插入的行.htaccess
如下:
PerlSetVar AuthFile /chemin_du_dossier_depuis_la_racine_du_compte/.htpasswd AuthName "Acces Restreint" AuthType Basic require valid-user
此文件将直接放在要保护的文件夹中。
然后有必要创建一个包含标识符/密码对(未加密)的文本文件,该文件将被命名为.htpasswd
. 例如 :
administrateur:super_mot_de_passe
utilisateur:youpi
.htaccess
可以将此文件放置在 Web 空间的任何位置,但如果将其放置在与要保护的目录不同的目录中,则会通过放置在内部创建另一个文件来保护它免受入侵deny from all
,这将阻止访问文件夹(和子文件夹)。
可以设置更具体的限制:每个用户、IP 地址、域。您可以查看 Apache 文档)以获取所有信息。
有用的链接
还提供了其他功能:(参见“授权指令”)
可以强制使用 php 版本 5.1.3,php 1
在.htaccess
.
index.<extension>
也可以通过在 our 中添加提及Options -Indexes
always来禁止显示所有不包含文件的目录内容的详细信息,据.htaccess
我所知,它不区分大小写(区分大小写,没有汽车,繁荣, 裂缝 ;-) )
.htaccess
据我所知, Free 不允许其他常用功能。但是,如果我错了,我毫不怀疑确切的信息将有用地补充或替换已经存在的信息:-)
授权指南
php 1
— 启用 PHP 5.1.3rc4-dev “自由风格”(默认为 PHP 4.4.3-dev)。如果站点仅包含静态 HTML 页面,则无需激活它。
Options Indexes
— 启用 Apache 目录列表。如果前面带有-
,则禁用此选项。该指令允许列出目录 ( Index Of /…/
),即使不存在索引文件。出于安全原因,最好禁用此选项;403 Forbidden
如果目录中没有文件,服务器将返回一个错误页面index.<extension>
。
Options MultiViews
— 启用 Apache 的 MultiViews 功能。如果前面带有-
,则禁用此选项。这个选项在 Apache 中默认是不启用的,所以你必须明确地启用它才能使用它。
Options ExecCGI
— 启用 CGI/PHP 脚本的执行。如果前面带有-
,则禁用此选项。仅对具有 PHP 脚本的站点有用。
Options IncludesNOEXEC
— 允许包含文件(文件.shtml
和 SSI),但禁止执行 PHP 脚本。如果前面带有-
,则禁用此选项。仍然可以通过ScriptAlias
. 如果ExecCGI
和Includes
被禁用,则启用此指令毫无意义,它将是多余的。
Options FollowSymLinks
— 允许在目录及其子目录中搜索符号链接。如果前面带有-
,则禁用此选项。
Options Includes
— 允许文件包含。仅在具有 PHP 脚本的站点或使用 SSI 代码(文件.shtml
)的文件的情况下有用。如果前面带有-
,则禁用此选项。
模块的指令mod_autoindex
,允许自定义Apache自生索引的显示,都支持。
AddType <type mime> .<extension associée>
— 为文件类型定义特定的 mime 类型(例如AddType text/css .css
)。
AddEncoding <type d'encodage> .<extension associée>
— 定义文件类型的特定编码类型(例如AddEncoding gzip .gz
)。
AddHandler <méthode> .<extension associée>
— 定义处理文件类型的特定方法(例如AddHandler application/x-httpd-fastphp .html
)。
AddCharset <charset> .<extension associée>
— 定义特定的字符集来处理文件类型(例如AddCharset iso-8859-15 .html
)。
AddLanguage <langue> .<extension associée>
— 定义特定于文件类型的语言(例如AddLanguage fr .html
)。
LanguagePriority <langue(s)>
— 定义站点上语言的优先级(例如LanguagePriority en fr de
。也就是说,对于有多种语言可用的相同特定资源,如果没有偏好,服务器将返回与定义的第一个“主要”语言相关联的资源由访问者在请求期间指示。
DefaultLanguage <langue>
— 为服务器上的所有文本文件定义一个单一的“主要”语言(例如DefaultLanguage fr
)。对于某些文件,可以通过AddLanguage
. 它只能用于指定一种语言。
AddDefaultCharset <charset>
— 为服务器上的所有文本文件定义一个字符集(例如AddDefaultCharset utf-8
)。对于某些文件,可以通过AddCharset
. 定义字符集有助于加快浏览器中的呈现时间。
指令Order Allow
及其Deny
各种应用是允许的。
指令Satisfy All
及其Any
各种应用是允许的。
可以在 Free 的个人页面上使用指令,但是服务器每个文件<Files>…</Files>
只接受一对标签。可以使用正则表达式或文件名。标签必须采用以下格式:<Files>…</Files>
.htaccess
<Files ~ "^*\.(…)"> Directives </Files>
在哪里
<Files "nom-du-fichier.<extension>"> Directives </Files>
标签<IfModule>…</IfModule>
和<IfDefine>…</IfDefine>
是可能的。例如 :
<IfModule mod_<nom du module>.c> Directives </IfModule>
在哪里
<IfDefine Free> php 1 </IfDefine>
重定向
可以通过 free 个人页面上的文件从一个 URL 重定向到另一个 URL .htaccess
,以指定文件夹已移动、URL 不再存在或已被移动…… Alexandre Alapetite 的网站上提供了一个非常好的教程。
从根目录重定向到子文件夹或页面
重定向到站点目录,FAQ再次:自动重定向到目录
将访问者自动重定向到站点的子文件夹(或特定页面)的最佳方式是通过 Apache。这是方法:
RedirectMatch permanent ^/$ http://monsite.free.fr/votre-sous-dossier/
有用的链接
自定义错误页面
可以使用该指令ErrorDocument
自定义访问者收到的错误页面。这里有些例子 :
ErrorDocument 410 /detruit.php ErrorDocument 500 "Désolé, script craché... pas de chance ! ErrorDocument 403 http://monsite.free.fr/pas-trouve ErrorDocument 404 /erreur/perdu.html ErrorDocument 401 /inscription/comment-sinscrire.html
使用的语法是:ErrorDocument <code-à-3-chiffres> <action>
其中三位代码表示客户端收到的错误代码(400 到 499 和 500 到 599),并且操作可以指定:
-
要显示的消息。该消息必须以引号 (
"
) 开头。显示同一行上所有前面带引号的内容。 - 指向外部服务器的 URL,将重定向到该服务器。
- 将进行重定向的本地 URL。
要替换错误页面,它总是在常见问题解答中:自定义错误页面
附加信息:如何.htaccess
防止外部访问
通常,Free 服务器的默认配置会.htaccess
防止阅读,这意味着尝试阅读的聪明人http://votresite.free.fr/.htaccess
将被拒绝,并且会以他为代价。但最好不要信任默认配置,并.htaccess
通过在以下内容中明确保护它.htaccess
...
<Files ".ht*"> Order allow,deny Deny from all Satisfy all </Files>
在 Free 中包含或排除特定于服务器的指令
通过使用条件标签<IfDefine></IfDefine>
,您可以将特定于服务器的指令添加到 Free:
<IfDefine Free> php 1 </IfDefine>
要从免费服务器上的配置中排除指令:
<IfDefine !Free> AddType application/x-httpd-php5 .php </IfDefine>
文件的有用链接和资源.htaccess
- Apache — 所有 Apache HTTP Server 2.2 版指令的索引
- Apache — Apache HTTP 服务器指令字典 2.2 版
- Apache — Apache HTTP Server 2.2 版文档
- Apache - Apache 教程:.htaccess 文件
-
阿帕奇——指令
Options
- Wikipedia - HTTP 响应状态代码列表
- W3C — HTTP/1.1:状态代码定义(RFC 2616 标准)
版权声明:《 Free.fr个人.htaccess页面 》为吐司猫原创文章,转载请注明出处!
最后编辑:2022-5-24 10:05:29
提示:本文章评论功能已关闭