4 ms·
Yes, I linked to IfIsEvil. The fact that you need a page to document the horrible behavior because it's too late to fix it is a sign that something is very wron
by raylu 13y ago
Yes, I linked to IfIsEvil. The fact that you need a page to document the horrible behavior because it's too late to fix it is a sign that something is very wrong with the config syntax.
- merlincorey 13y agoThe fact that you think it is a problem with the configuration syntax is an indication that you didn't read the wiki page, or the important part of my comment. NginX's configuration is declarative. The reason the imperative if was given powers beyond its means was because people clamored for the feature. The reason it's still there is because removing it would break some working configurations that use if. If you don't have experience with declarative programming and you think in terms of imperative programming, it might seem "horrible behavior", but actually, it's what is to be expected from mixing the two paradigms in the way it is being mixed. The real wart is under the hood where-in location based if's are converted to sub-locations. This is where many problems related to IfIsEvil stem from.
- raylu 13y agoI'm rather annoyed that you're not reading anything I've said. No, the problem is not that I haven't read the page. I have. It can cause segfaults. Your configuration can cause segfaults. Your configuration can cause segfaults. Your configuration can cause segfaults. And yes, I acknowledged that they can't remove it because it's too late, using those exact words. That doesn't mean it's not a problem. It means you should jump ship to something saner, like lighttpd, which also doesn't have the rewrite-sometimes-redirects problem.
- merlincorey 13y ago> Your configuration can cause segfaults. MY configuration never causes segfaults, because I understand the declarative nature of the configuration language, and I don't mistakenly attempt to shoehorn imperative constructs into it. By your logic, software should not be written in C/C++, because it can cause segfaults! > It means you should jump ship to something saner, like lighttpd, Ah, you're a lighttpd guy. I'll stick with not having the http server also be an application server, and we'll agree to disagree. Have a nice day.
- raylu 13y agoI was using "your" in the third-person, a quirk of the English language that is too late to fix. Configuration should not be able to cause your software to segfault. Configuration shouldn't be software. And, in case it's not clear, configuration should not be written in C/C++.