I am saying this not directed at you but as a means to give context to me saying no to a set of options (which, by the way, is insanely harder than saying yes).
Assuming that you're not a pilot, take a look at a high-res photo of a jet airliner's cockpit. That interface looks intimidating. You will think that you shouldn't touch it unless you receive thousands of hours of training before you even come close to it. To an expert it's not that intimidating at all; it's a pretty standard interface with all the necessary controls and readouts.
Now take a look at a commercial drone's interface. Much simpler, much more intuitive and it makes you think that after a stark few hours of training you can master it. An expert aviator would find it too simple and probably gripe about its lack of necessary controls and readouts.
Do you see where I'm going with this? Both are aviation product. The former is targeting corporations employing highly trained experts to use it; the latter is aimed at consumers. One is pretty much a bespoke product, the other is a mass market product.
Our software is mass-market, it's not an expert product. Experts are perfectly capable of and content in pursuing the arcane art of manually editing configuration file with cryptic options, having a solid grasp of the subtle effects their changes have. They don't need a GUI. The mass market users, however, don't have that knowledge, don't have the time to acquire that knowledge nor do they have the money to hire an expert. Their needs must be met as automatically as possible with an interface that implies they can master it in a matter of hours, not a matter of years upon years.
So, when it comes to mass distributed software it's crucial to know when to say no to the proliferation of options. In one extreme we have WordPress which doesn't give options even for basic features, on the other extreme we have Joomla which gives options for arcane options that should best be left for template overrides. We try to be somewhere in the middle. This is hard. It requires saying no to a lot of things. For every option that's implemented in the .htaccess Maker there are six to ten that were killed off anywhere from the initial consideration to the implementation stage. if I had implemented everything I had in mind the .htaccess Maker would be impossible to use by anyone except the experts... who don't actually need it. Oops.
That is the context under which I consider the various options for HSTS.
As I said, there are very good reasons not to add HSTS flags by default in a mass-market product. Likewise, addressing the badly configured servers is also something that cannot be done by default. Adding a whooping 3 more options to an already crowded page just to support the most rare use cases works against the core mission of the .htaccess Maker which is making sensible security accessible to the non-experts.
If you really need to apply HSTS to your subdomains and submit your site for HSTS preloading in Chrome then yes, by all means, do disable HSTS in .htaccess Maker and use the custom code textbox to enter your customized version of the HSTS feature. That's the whole point of the custom code boxes: if you want customization beyond the restrictions of mass-market compromises you are able to turn off the feature and put your custom code in there. That's the best way we can serve, at the same time, the inexperienced and the expert users with the same product.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!