Home Non existing subdomain error handling using php and .htaccess
Reply: 0

Non existing subdomain error handling using php and .htaccess

user41065
1#
user41065 Published in September 19, 2018, 3:18 am

In order to track errorhandling I set the errordocuments in .htaccess to a script like so:

ErrorDocument 400 /catch
ErrorDocument 401 /catch
ErrorDocument 403 /catch
ErrorDocument 404 /catch
ErrorDocument 405 /catch
ErrorDocument 408 /catch
ErrorDocument 500 /catch
ErrorDocument 502 /catch
ErrorDocument 504 /catch

In the catch script I take the url that generated the error and write to db, before redirecting to /error. On the website there are numerous subdomains, each with their own catch and error page. However, I need all non existing subdomains to redirect to the catch of the main domain, without changing the url (nonexistingsubdomain.example.org becomes https://www.example.org/nonexistingsubdomain which should be catched by the catch script in which:

$url= (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

should read https://www.example.org/nonexistingsubdomain.

I have tried a couple of things, but none seem to work. I haven't been able to find a similar question as I allready use the errordocuments, and some subdomains do exist.

share|improve this question

active oldest votes

Your Answer

StackExchange.ifUsing("editor", function () { StackExchange.using("externalEditor", function () { StackExchange.using("snippets", function () { StackExchange.snippets.init(); }); }); }, "code-snippets"); StackExchange.ready(function() { var channelOptions = { tags: "".split(" "), id: "1" }; initTagRenderer("".split(" "), "".split(" "), channelOptions); StackExchange.using("externalEditor", function() { // Have to fire editor after snippets, if snippets enabled if (StackExchange.settings.snippets.snippetsEnabled) { StackExchange.using("snippets", function() { createEditor(); }); } else { createEditor(); } }); function createEditor() { StackExchange.prepareEditor({ heartbeatType: 'answer', convertImagesToLinks: true, noModals: false, showLowRepImageUploadWarning: true, reputationToPostImages: 10, bindNavPrevention: true, postfix: "", onDemand: true, discardSelector: ".discard-answer" ,immediatelyShowMarkdownHelp:true }); } });
 
StackExchange.ready( function () { StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f48180015%2fnon-existing-subdomain-error-handling-using-php-and-htaccess%23new-answer', 'question_page'); } );

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged php .htaccess redirect mod-rewrite or ask your own question.

StackExchange.ready(function(){$.get('/posts/48180015/ivc/a6b2');});
StackExchange.ready(function () { StackExchange.responsiveness.addSwitcher(); }) (function(i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m); })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); StackExchange.ready(function () { StackExchange.ga.init({ sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-1' ] }); StackExchange.ga.setDimension('dimension2', '|php|.htaccess|redirect|mod-rewrite|'); StackExchange.ga.setDimension('dimension3', 'Questions/Show'); StackExchange.ga.trackPageView(); }); /**/ var _qevents = _qevents || [], _comscore = _comscore || []; (function() { var ssl = 'https:' == document.location.protocol, s = document.getElementsByTagName('script')[0], qc = document.createElement('script'); qc.async = true; qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js'; s.parentNode.insertBefore(qc, s); _qevents.push({ qacct: "p-c1rF4kxgLUzNc" }); /**/ var sc = document.createElement('script'); sc.async = true; sc.src = (ssl ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; s.parentNode.insertBefore(sc, s); _comscore.push({ c1: "2", c2: "17440561" }); })();
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.301427 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO