今天,我注意到了一条重写规则,如下所示。在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] 发布于 2017-10-14 03:41:47
不,如果.htaccess文件在example.com/中,则规则会将example.com/abc重写为example.com/index.php?slugname=abc,但前提是example.com/之后的字符(在您的示例中为abc )不包括/或.。
在旧版本的apache中,它不会工作,因为匹配的字符串不是abc,而是/abc (第一个/是include),所以它不能匹配。
注意:
这是一个重写,所以从用户的角度来看,浏览器中的URL仍然是example.com/abc,但在内部,它就像用户确实请求了example.com/index.php?slugname=abc一样。如果没有其他规则,这两个规则应该会产生相同的结果。
https://stackoverflow.com/questions/46723018
复制相似问题