【问题标题】:How to disable execution of .htaccess and output it's content如何禁用 .htaccess 的执行并输出它的内容
【发布时间】:2019-12-18 05:08:06
【问题描述】:

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

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

例如,在另一个 webhost 中对那个远程 url 执行 wget,它应该完全下载 .htaccess,并且它的内容必须是有效的,所以如果我要从下载文件的请求服务器(第二个)获取它,指令必须执行.

【问题讨论】:

    标签: .htaccess apache2


    【解决方案1】:

    这取决于你的发行版,所以是 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>
    

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


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2016-01-17
      • 2022-01-22
      • 2023-04-08
      相关资源
      最近更新 更多