Description
This plugin is useful e.g. if you have a wildcard SSL/TLS certificate for server but not for each site.
If the site is normally at say http://example.org/
and you want to have the admin area https protected, but you don’t have a SSL/TLS certificate so that https://example.org/
would work, you can define another domain for secure connections.
For example instead of https://example.org/wp-login.php
or https://example.org/wp-admin/
the user is redirected to https://example.seravo.com/wp-login.php
or https://example.seravo.com/wp-admin/
.
This plugin works with both normal WordPress installations and WordPress Network installation and is compatible with the WordPress MU Domain Mapping plugin.
The code is optimized to be fast and does not for example do any database lookups or use cookies.
This plugin is made by Seravo Oy, which specializes in open source support services and among others is the only company in Finland to provide WordPress Premium Hosting.
Source available at https://github.com/Seravo/wp-https-domain-alias
Installation
- Upload plugin to the
/wp-content/plugins/
directory. - Activate the plugin through the “Plugins” menu in WordPress.
- Make sure the
wp-config.php
defines the needed constants.
example:
define('FORCE_SSL_ADMIN', true);
define('HTTPS_DOMAIN_ALIAS', 'example.org');
The plugin scenario assumes the site domain is example.com but there is no https certificate for it. Instead there is a https certificate for example.org, which has been defined as the HTTPS_DOMAIN_ALIAS.
In a WordPress Network installation the HTTPS_DOMAIN_ALIAS can be defined as *.example.org and then <domain.tld> will be redirected to .example.org. This plugin is designed to be compatible with
the WordPress MU Domain Mapping plugin.
Possible values of $location when calling this function
- http://example.com
- https://example.com <- the case where https fails and we want to avoid
- http://example.example.org
- https://example.example.org <- the case where https works
FAQ
-
Does this work for WordPress Network?
-
Yes, since version 0.4.
-
Where is the UI?
-
This plugin has no visible UI, the magic happens automatically if the plugin is active.
-
What does FORCE_SSL_ADMIN do?
-
See https://codex.wordpress.org/Administration_Over_SSL
Note that defining FORCE_SSL_LOGIN is not needed.
Reviews
Contributors & Developers
“HTTPS Domain Alias” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “HTTPS Domain Alias” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
Note that complete commit log is available at https://github.com/Seravo/wp-https-domain-alias/commits/master
1.4.2
Bugfix: Only convert non-relative links to their root relative form
1.4.1
Don’t try to rewrite relative urls
1.4
- Fix Polylang compatibility
- The edit.php permalink now displays the real domain, instead of alias
1.3.2
Added tests
1.3
- Wildcard domain aliases are now handled differently
http://www.nonsecure.com -> https://nonsecure.secure.com
http://site.nonsecure.com -> https://site-nonsecure.secure.com
as opposed to previous behaviours
http://www.nonsecure.com -> https://www.secure.com
http://site.nonsecure.com -> https://site.secure.com - Minor refactoring to the code
- Bugfixes
1.2.1
- Fix missing script from source files
1.2
- Includes automatic relative URLS in the front end
1.1
- Adds rewrite capabilities for all domains in multisite
1.0
- Mature enough for official 1.0 release
0.9
- All OK!
0.8
- Fix home_url infinite loop and thus enable rewrites for it too
0.7
- Added debug wrapper and made sure this plugin is load first of all plugins.
0.6
- Bugfixes for preview mode and non-admin https pages.
0.5
- Updated readme.txt
0.4
- Enhanced to also support WordPress Network installations.
- Refactored code to be robust in all known situations.
0.3
- Merged pull request on http preview
0.2
- Improved readme.txt. Log error if the needed constants don’t exist.
0.1
- Initial release