FIX for schema or host agnostic web sites (e.g. multiple domain setup) #762
Conversation
Hello Daniel. I've made and tested this quick fix to allow schema or host agnostic webs. This is really useful when having multiple domains for the same client. It already worked without SEO_URLs but it complained when activating, so I fixed it. It doesn't break normal usage, it's just a verification of key existence before usage. After this patch, these configurations are valid on the config.php file (the new default could be '/' for less installation steps!): // Scheme agnostic website (Note: the '//' is required): define('HTTP_SERVER', '//www.domain.com/'); // Domain agnostic website: define('HTTP_SERVER', '/');
@@ -112,10 +112,10 @@ public function rewrite($link) { | |||
} | |||
} | |||
|
|||
return $url_info['scheme'] . '://' . $url_info['host'] . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query; | |||
return (array_key_exists('host', $url_info) ? (array_key_exists('scheme', $url_info) ? $url_info['scheme'] . '://' : '//') . $url_info['host'] . (array_key_exists('port', $url_info) ? ':' . $url_info['port'] : '') : '/') . str_replace('/index.php', '', $url_info['path']) . $url . $query; |
maddes
Jul 10, 2013
Author
Really don't know the difference between array_key_exists('host', $url_info)
and isset($url_info['host'])
but array_key_exists
looked more standard.
Really don't know the difference between array_key_exists('host', $url_info)
and isset($url_info['host'])
but array_key_exists
looked more standard.
Stacking a bunch of ternary operators really hurts readability, IMO. |
well, I just used them to keep it on a single line just as it was.
|
So.. should I edit it and make an if/else version? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Hello Daniel.
I've made and tested this quick fix to allow schema or host agnostic webs. This is really useful when having multiple domains for the same client.
It already worked without SEO_URLs but it complained when activating, so I fixed it.
It doesn't break normal usage, it's just a verification of key existence before usage.
After this patch, these configurations are valid on the config.php file (the new default could be '/' for less installation steps!):
// Scheme agnostic website (Note: the '//' is required):
define('HTTP_SERVER', '//www.domain.com/');
// Domain agnostic website:
define('HTTP_SERVER', '/');
ps: the $url_data to $url_info renaming on last version almost lost me.