代码之家  ›  专栏  ›  技术社区  ›  Optiroot

子域重定向到website.com/wp-signup。php?new=多站点后的示例-WordPress

  •  1
  • Optiroot  · 技术社区  · 10 年前

    我有一个问题,我希望有人能帮助我!
    我有一个由WordPress支持的网站,上面有一些文章,我想建立一个网络,所以需要多站点安装。 我遵循了WordPress Codex上的步骤,首先在 wp-config.php 然后我进去了 wp管理员 并按照指示完成程序。 这是我添加的代码 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有关。 所以我在网上搜索了一下,发现我需要创建一个通配符。 正如我所理解的,我需要创建一个新的DNS记录 A. 键入并将其重定向到我的网站的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 回复  |  直到 10 年前
        1
  •  5
  •   Optiroot    10 年前

    别介意,我解决了! 加上 define('NOBLOGREIDIRECT',''); 在wp配置中。php就在多站点规则下面!

    我设法在“”之间插入了我的网站主页

    为了更好地解释:如果在“”之间插入url,则当用户转到不存在的子域(例如hello.example)时。com,他将被重定向到您插入的url; 否则他会有一页空白。

    本文甚至指出,404服务器代码可能会以这种方式失败,例如,如果用户转到“example.com/unexisting page”,他将被重定向到您在“”之间插入的url
    Article

    但我对此没有任何问题。

    我希望它能帮助其他人!

        2
  •  2
  •   David    6 年前

    是的,但使用这个更好:

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

    这将防止转到空白页。

        3
  •  0
  •   Piers    4 年前

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