One of our primary landing pages went offline over the weekend and coming in Monday with our team flippin' out. After 20 minutes of testing opening a case and a hunch, our Demo Page was back online. So what the heck happened...
I had one of our core pages redirect from that pages url without ".html" to the same page with the required ".html (somehow that non ".html" link got shared at some point -- another issue for another day ). My solution at the time was to create a quick redirect rule to take care of the 404 error and get our potential leads where they intended. Monday morning I came in to an errored out page. What caught me off guard was the error message -- rather than the expected "page not found", it mentioned "too many redirects". Seriously there are no redirects for this page just the one I created a year ago.
Once I nixed that redirect from the /page-name to /page-name.html, boom, all was back to normal. Then I was curious, isn't the .html required? I visited the /page-name and to my amazement it worked! Long story short if you have any redirect rules pointing to .html variant of your pages, they may currently be in redirect limbo.
I believe (unconfirmed) there may have been an unannounced change in the Marketo PHP/infrastructure that hit our instance in the Sydney datacenter on 3/3 or 3/4 Pacific Standard Time US. The result (good and bad) enabled all marketo landing pages to function with and without having ".html" appended/required.
Hopefully this helps someone get the time back I lost trying to figure this little puzzle out.
Marketo LPs haven't needed the ".html" for a long time now. We advise clients to skip the extension, so this isn't a new thing.
FTR, Too many redirects is a client-side (browser) error, not a server error. It occurs if you have page1 → page2 → page3 → page4 ..., but is even more likely to happen if you have an infinite loop page1 → page2 → page1 → page2 .... (An infinite loop will always exceed the "too many" cap!)
So I don't know exactly what happened here, but I'd be 99.999% sure your instance was already able to use the ".html"-less URLs before this weekend.
It may also have to do with instance age, location and setup.
We had no ability to not use .html until this happened. It may also have to do with the servers or PHP... Maybey something do to with how the page url is stored, posted, and redirected. I am thinking if they were both available that they were treated as independent pages. With recent updates the page urls are referenced based on their core url name (sans html - like how we assign new url name to the LP Asset). Now regardless of html being included in the redirect, the 301 only only took into account the value between the slash and html and applies that redirect to both url variants. If the redirect doc was tweaked somehow to look at that, it would definitely cause a looped redirect. I'm no dns/php/web whiz kid, but this is my feeling about what happened.
Besides we are hosted down in Sydney... Things get a little funny once you cross the equator
I'm trying to disable the .html from my landing pages across the instance (I'm a new Marketo user). Can't find much by way of documentation, but I did come across this thread. Do you know where I would go to change this setting? URL structure for landing pages should be `www.offers.mydomain.com/landing-page-offer-name`
All your URLs already work without the .html, nothing else to change. (Unless there's something up w/your instance, but there still wouldn't be anything to change.)
This has been around for as long as I can remember and I've been using Marketo for 6 years. You should be able to just truncate the ".html" from any landing page url and it will work, there's no setting in admin required for it to work.
If indeed your landing page urls break with ".html" truncated, contact support. Maybe an engineer left out a server setting which is affecting everyone on your pod.