我正试图围绕Apache的NS重写规则标志。 docs表示将标志应用于任何规则会导致它不被解释为子请求,即。即由服务器而不是用户发起的内部请求。
尽管如此,尝试RewriteRule !\.html$ static%{REQUEST_URI} [NS]
内部重定向所有不以.html扩展名结尾的网址都会从static/
文件夹中提供,导致无限循环重定向。
我在这里错过了这一点吗?如果这个标志不是为了防止在后续轮次中解释规则,那么明确否定第一个参数中的重写路径是实现此目的的唯一方法吗?
答案 0 :(得分:0)
你能检查一下服务器没有从外部重定向你吗? 因为如果它进行外部重定向,那么NS标志就没用了。 另一件事可能是你有比这个更多的规则,无限循环是由它造成的。
泰瑞尔
答案 1 :(得分:0)
你确定L
标志不是你需要的标志吗?
要查看为什么它进入无限循环,请打开RewriteLog
并降低RewriteLogLevel
。