Mod安全规则

时间:2017-10-13 05:21:56

标签: linux apache .htaccess mod-rewrite

今天我注意到了一个重写规则,下面给出了它。在阅读了关于Apache的文档后,我相信在域名强制重定向到example.com/index.php?slugname之后重定向任何内容的规则。

这意味着如果我们在浏览器中尝试example.com/abc,它会重定向到example.com/index.php?slugname

这是对的吗?你能告诉我这条规则到底是什么意思吗?

https://httpd.apache.org/docs/current/rewrite/intro.html

RewriteRule ^([^/\.]+)/?$ index.php?slugname=$1 [L] 

1 个答案:

答案 0 :(得分:0)

如果example.com/abc文件位于example.com/index.php?slugname=abc,但只有.htaccess之后的字符(在您的情况下为example.com/,则规则不会将example.com/重写为abc {1}},不包含/.

在旧版本的apache中,它不起作用,因为匹配的sting不是abc而是/abc(第一个/是包含的),因此无法匹配。

注意:

它是一个重写,所以从用户的角度来看,浏览器中的URL仍然是example.com/abc,但在内部就像用户确实请求example.com/index.php?slugname=abc一样。如果没有其他规则,则两者都应该给出相同的结果。