更好的方法来测试.htaccess文件

时间:2017-07-07 13:48:42

标签: regex apache .htaccess mod-rewrite

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

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

有没有办法在不使用实际服务器的情况下测试它们,而不是创建另一台服务器来测试这些规则。像htaccess规则检查器之类的东西!?

2 个答案:

答案 0 :(得分:3)

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

我喜欢使用的一个基于Web的网络测试者来自Made with Love; http://htaccess.madewithlove.be/

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

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

就在最近,我编辑了一个htaccess文件,该文件没有显示语法错误,并且在测试人员上按预期工作,这在真实网站上根本不起作用。网站设置可能会产生影响以及所有其他不会在网络工具上显示的内容。

答案 1 :(得分:0)

我在本地服务器上测试了几个.htaccess规则,但其中1个不起作用。系统给出了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中询问为什么它不起作用,但后来我决定对其进行实时测试,并且它可以正常工作。