【问题标题】:Better way to test .htaccess file测试 .htaccess 文件的更好方法
【发布时间】:2017-07-07 13:48:42
【问题描述】:

我对 htaccess 规则没有太多经验,其中一些是有效的,但是当我添加或删除一个新规则时,我该如何测试它们?我无法在实际服务器上对其进行测试。即使在我的本地主机中,我也无法测试一些像 https 规则、www 和其他东西。

我可以测试其余的 url 模式,但是当我在实时服务器上添加 www 和 https 规则以及测试的规则时,它会给出错误,然后我会继续在实时服务器上测试它们。

有没有一种方法可以在不使用实际服务器的情况下测试它们,并且不创建另一个服务器来测试这些规则。像 htaccess 规则检查器之类的东西!?

【问题讨论】:

  • 您也可以在本地服务器上测试所有内容。如果您不想更改根文件夹中的任何内容,请在本地服务器上创建一个虚拟主机并测试那里的所有内容。

标签: regex apache .htaccess mod-rewrite


【解决方案1】:

有一些基于 Web 的测试人员可供使用,不幸的是,这些测试人员并不总能理解所有语法以准确检查它在真实网站上的工作方式。

我喜欢使用的一个基于网络的测试器是 Made with Love 的在线测试器; http://htaccess.madewithlove.be/

它不理解一些项目,例如 %{REQUEST_FILENAME} 但对于一般测试,我认为它应该为你完成这项工作。您将代码复制到框中,您还可以提交一个 url 以查看它将重写的内容。如果您只想检查语法错误,也可以使用一些网络工具。

使用基于网络的工具非常适合进行全面检查,但在您将其上传到真实网站的开发版本之前,您无法确定它对真实网站的影响。

就在最近我编辑了一个 htaccess 文件,它没有显示任何语法错误,并且在测试仪上按预期工作,但在真实站点上根本无法工作。站点设置可能会产生影响,并且所有其他内容都不会显示在 Web 工具上。

【讨论】:

    【解决方案2】:

    我在本地服务器上测试了几条 .htaccess 规则,其中一条不起作用。系统给出了 500 Internal Server Error 消息,所以我很困惑:这是一个不起作用的消息:

    # Prevent search engines from indexing some files
    <FilesMatch "^(about-cosma.html|footer.html|menu.html|acerca-de-cosma.html|es-footer.html|es-menu.html)">
    Header set X-Robots-Tag "noindex, nofollow"
    </FilesMatch>
    

    我本来想在 Stackoverflow 中询问为什么它不起作用,但后来我决定对其进行现场测试,它运行良好。

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2010-12-09
      • 1970-01-01
      • 2014-08-31
      • 2012-11-11
      • 2014-09-20
      相关资源
      最近更新 更多