如何禁用.htaccess的执行并输出其内容

时间:2019-12-17 13:52:31

标签: .htaccess apache2

我正在使用Apache2,我需要一个http://url/path/.htaccess网址, 网址必须仅包含.htaccess作为最终名称(例如:https://mywebsite.com/download/.htaccess),仅此而已 好像它只是一个普通文件(image.jpg),但是.htaccess的内容必须显示为文本。

如何禁用.htaccess中指令的执行并使其直接显示其内容而又不禁止403?无法直接在.htaccess中插入指令以显示其内容,因为它需要按原样下载并且必须“有效”, 最后,.htaccess内容必须完全可操作。

例如,在另一个Web主机内的wget中访问该远程URL,它应该完全下载.htaccess,并且其内容必须有效,因此,如果我要从下载文件的请求服务器(第2个)获取它,则必须执行该指令

1 个答案:

答案 0 :(得分:0)

这取决于您的分布,因此取决于YMMV。

对于Ubuntu,默认安装中有一个名为/etc/apache2/apache2.conf的文件,其中包含:

# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

第一个伪指令(AccessFileName)设置用于.htaccess的名称,以防您需要更改它。为了避免使用.htaccess文件并应用其中的指令,请将.htaccess重命名为其他名称,例如

AccessFileName no.htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

第二个伪指令<FilesMatch>与此处相关,并且阻止访问以.ht开头的任何文件,即.htaccess和.htpasswd。要允许从浏览器访问文件,只需注释或删除这些行。


解决问题的另一种方法是保持一切不变,并为可下载文件命名不同的名称,例如htaccess,不带点。这适用于任何发行版。