多域后重新定向到website.com/wp-signup.php?new=example的子域名 - WordPress

时间:2015-08-12 16:19:17

标签: wordpress .htaccess dns server

我有一个问题,我希望有人可以帮助我!
我有一个由WordPress驱动的网站,有一些文章,我想建立一个网络,所以多站点安装。 我按照WordPress Codex上的步骤进行操作,首先插入函数以在 wp-config.php 中启用多站点,然后我进入 wp-admin 并且按照说明完成程序。 这是我在 wp-config.php

中添加的代码
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'website.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

虽然这是我的.htaccess中的代码:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

当我这样做的时候,我意识到即使在网络中创建一个新网站也无法加载:事实上,当我去网站test.website.com时,服务器没有响应,给出Chrome错误,现在我不记得了:这与DNS有关。 所以我在网上搜索,我读到我需要创建一个WildCard。 根据我的理解,我需要创建 A 类型的新DNS记录,并将其重定向到我的网站的IP,并使用*作为子域。 我这样做了,但我也创建了一个带有cPanel的子域名:我将其命名为* .website.com,其文件夹是我的WebSite的根目录,然后我为此子域名重定向到我的网站IP。

有几个小时发生了什么事:我猜是因为我不得不等待DNS更改,事实上,今天早上,我看到test.website.com正在加载!

但是有一件奇怪的事情:如果我输入一个像wp.website.com这样的非现有子域,它会在链接上重定向到我的Principal WebSite(域本身):

/wp-signup.php?new=wp

= 之后的 wp 是因为子域本身是 wp

在页面中看起来像注册模块:我的意思是,如果我没有登录我的网站,这样的页面(可能是asd.website.com或java.website.com并重定向到website.com/wp-signup.php=?new=ads),显示了注册请求,如果我继续,似乎新用户可以注册新的子域或类似的东西。
因为出现了“用户名”框和密码框,所以我可以单击页面底部的“下一步”。这感觉就像是我网络的注册表格......但是当用户写下我网站中不存在的子域名时会出现这种情况吗?

无论如何,在页面的最底部出现(我翻译自意大利语,所以可能不是真正的英文WordPress文本):您正在寻找的网站, hello.website.com 不存在。

哦,我忘了说:这个页面附带了我的Wordpress主题的布局,但是它是如此的:它们不是我的WP主题,而是WordPress本身。

这就是全部! 我要知道的是:这是正常的事情还是我搞砸了什么? 如果这是正常的,我怎么能让这不发生? 谢谢任何人都会帮助我!

3 个答案:

答案 0 :(得分:3)

别介意,我解决了! 在多站点规则正下方的wp-config.php中添加 define('NOBLOGREDIRECT',''); 就足够了!

我设法在''

之间插入我的网站主页

更好地解释一下:如果你在''之间插入一个url,当用户进入一个不存在的子域如hello.example.com时,他将被重定向到你插入的url; 否则他会有一个空白页面。

这篇文章说甚至可能404服务器代码可能以这种方式失败,就像用户进入“example.com/unexisting-page”一样,他将被重定向到你在''之间插入的url
Article

但我没有遇到任何问题。

我希望它能帮助其他人!

答案 1 :(得分:0)

是的,但是使用它会更好:

define( 'NOBLOGREDIRECT', 'https://website.com' );

这可以防止进入空白页。

答案 2 :(得分:0)

如果您最近移动了 WordPress 安装,请检查您的数据库是否有对其他域的任何引用。您可能还想检查 /etc/apache2/sites-enabled/000-default.conf 以检查服务器名称是否与您的主要多站点域匹配