描述
WP Multisite plugin to maintain URL-redirects for Blogs.
Features
- Permanent 301 Redirect to blogs main domain
- Painless installation and activation – no file access necessary.
- Checks domain status
- Supports UTF-8 Domains
- WP-Cli commands
Usage
- Set up your DNS. Make sure your Domain points to your WordPress installation. You can achieve this by either setting up an A- or CNAME-Record in your DNS configuration. Your webserver must be configured to handle requests on the given Domain.
- Under Network Admin – Sites edit the site and select the Alias Domains Tab.
- Enter the domain without
http
ao/
and click “Add”. - Click “Check Status” to see if it worked. If something went wrong you will see an error message.
If you want to redirect with URL path appended (e.g. from some-alias.tld/some/path
to some-real-blog.tld/some/path
), add this to your wp-config.php
:
define( 'WPMU_BLOG_ALIAS_REDIRECT_WITH_PATH', true );
Status messages
Warning: The domain matches the site URL of this blog: The Blog is using the domain name as Site URL.
Error: The domain is already used by another site: A different Blog is already using the domain as Site URL. Eiter Remove the alias from the sblog you are currently workin on, or from the other one.
The domain is unreachable: There is likely an error in your DNS or your Webserver configuration. Use nslookup
from he command line or whatsmydns.net to check the DNS-Settings.
The domain or a redirect does not point to this blog: Following all redirects did not end up on your WordPress-Site, but somewhere else. There is likely an error in your DNS or your Webserver configuration.
WP-CLI Examples
Listing Domain aliases
List alias domains for blog-id 123
wp alias-domains list --blog_id=123
Output minified json of all aliases
wp alias-domains list --format=json --compact=2
Output csv including the header row but omitting other messages into file
wp alias-domains list --format=csv --compact > alias-list.csv
Add Domain Alias
wp alias-domains add --blog_id=123 --domain_alias=quux.foobar.tld
Remove Domain Alias
Remove a specific alias
wp alias-domains remove --domain_alias=quux.foobar.tld
Remove all aliases for blog 123
wp alias-domains remove --blog_id=123
Testing Domain Aliases
wp alias-domains test --domain_alias=quux.foobar.tld<h3>Plugin PHP-API</h3>
The plugin introduces two functions allowing you to add / remove a domain aliases from inside PHP.
Add Domain alias
$result = alias_domain_add( $blog_id, 'quux.foobar.tld' );
if ( is_wp_error( $result ) ) {
// handle error
}
Remove specific Domain alias
$result = alias_domain_remove_by( 'domain_alias', 'quux.foobar.tld' );
if ( is_wp_error( $result ) ) {
// handle error
}
Remove Domain aliases for a specific blog
$result = alias_domain_remove_by( 'blog_id', 123 );
if ( is_wp_error( $result ) ) {
// handle error
}<h3>Development</h3>
Please head over to the source code on Github.
屏幕截图
安装
Follow the standard WordPress plugin installation procedere.
The installer will:
1. Create a database table {$table_prefix}alias_domains
2. Create a file wp-content/sunrise.php
or append its PHP to it, if the file already exists.
3. Insert define( 'SUNRISE', true );
in your wp-config.
常见问题
-
I found a bug. Where should I post it?
-
Please use the issues section in the GitHub-Repository.
I will most likely not maintain the forum support forum on wordpress.org. Anyway, other users might have an answer for you, so it’s worth a shot.
-
I’d like to suggest a feature. Where should I post it?
-
Please post an issue in the GitHub-Repository
-
Will you anwser support requests by email?
-
No.
-
The plugin works pretty well for me. Any way I can show my appreciation?
-
Thanks! As a well trained person living in a rich country there is little more I need.
The majority on the other hand is not doing very well. And because this plugin is about redirection, I’d like to point your attention to the several refugee crises taking place everwhere around the world.If my little piece of software was able to help you, please consider helping others and place a donation at the UNHCR.
评价
贡献者及开发者
更新日志
1.2.0
- Status Check: Test SSL status and show redirects
- Introduce PHP functions
alias_domain_add()
andalias_domain_remove_by()
- CLI: Introduce site_id parameter
- Refactor: Error messages
1.1.9
- Fix: PHP 8.2 deprecation notices
- Fix: Missing network admin page title
1.1.8
- Enhancement: Handle
ms_network_not_found
1.1.7
- Fixed main blog redirection
- Test with PHP 8
- Test with WP 5.8
1.1.6
- Feature: auto-remove blog aliases when a blog is being deleted
- Fix: domain check returned false negative if network admin is under ssl and blog URL is not
- Fix: Model class didn’t return insert id. As a result action
blog_alias_created
was called with a wrong argument
1.1.5
- Plugin-API: introduce filter
blog_alias_create_data
and actionsblog_alias_created
,blog_alias_delete
,blog_alias_deleted
,blog_alias_delete_multiple
andblog_alias_deleted_multiple
- Fix: redirect after activation in WP-Cli environment
- Fix: php warning __wakeup magic method
- Fix: Sunrise and wp-config.php not changed after activation
1.1.4
- Security hardening
- Tested up to WordPress 5.6
1.1.3
- Fix: Wrong table updated after upgrade
1.1.2
- Fix: Not installing on Mysql <=5.6 / InnoDB
- Fix: Support domain names with up to 253 characters
1.1.1
- Fix: Fatal error on entwork activation
1.1.0
- More input validation
- Drop support for PHP 5.5
- Code Refactoring
- Fix: Domain name not visible when alias was created with wp-cli
1.0.4
- Security hardening
1.0.3
- Add Option “Redirect with Path” to network settings page
- Introduce wp-cli –field parameter
1.0.2
- Add support for utf8 domain names
- Fix PHP strict warning
1.0.1
- Send
X-Redirect-By
HTTP Header - Option to redirect with path using constant
WPMU_BLOG_ALIAS_REDIRECT_WITH_PATH
. - Fix: PHP Fatal in sunrise.php if formatting functions are not present
- Fix: Make sure Status check ah´jax is loaded from Network-URL
- Validation: Make sure only hostnames can be entered
1.0.0
- Initial release