web-dev-qa-db-ja.com

サブディレクトリのマルチサイト404エラー

私はサブディレクトリとしてマルチサイトを作成しようとしています、そして、私は 'T'へのネットワーク指示に従いました。マルチサイトは正しくセットアップされているようです、.htaccessとwp-config.phpファイルは正しいようです、そして私はネットワークセットアップをすることができました、しかし、私がマルチサイトページに行くとき、それは404エラーを出します - 見つかりません。これにより、このサイトの管理者側にログインできなくなります。

私のメインサイトはまだうまく機能しており、そこから管理者側にログインすることができ、プラグインの助けを借りてデータベースにアクセスして操作することができます。新しく作成されたテーブルはすべてそこにあり、マルチサイトURLとオプションはすべて正しいようです。

.htaccessファイルがWordpressのものと一致することを確認しました。 .htaccess(public_html root)の適切な場所を確認しました。これは書き込み可能です。私の研究の多くが示唆しているように、これがパーマリンクの問題であるとは思わない。

徹底的な調査の結果、私が解決策を見つけることができなかったので、どんな助けでも感謝します。

これが私の.htaccessファイルです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

そして私の設定ファイルの終わり:

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 */
define('WP_DEBUG', false);

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'www.mybusinessconnect.com.au');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
1
Smiter

私はまったく同じ問題を抱えていました。

私の解決策 :/ etc/Apache2/sites-enabled/000-default.confを編集しました。それは以下のように見える必要があります:

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        <Directory />
                Options FollowSymLinks
                AllowOverride all
        </Directory>
        <Directory /var/www/>
                Options FollowSymLinks
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${Apache_LOG_DIR}/error.log
        CustomLog ${Apache_LOG_DIR}/access.log combined

</VirtualHost>

できます!

2
sladda

私は同じ問題に直面した - wordpressのマルチサイトディレクトリ - 新しいサイトのダッシュボードとサイトページ、管理サイトとダッシュボードの動作に関する404エラー.

私の問題はApacheの設定 - /etc/Apache2/httpd.confにありました。セクションAllowOverride All'の下で '<Directory "/Users/user1/Sites">を実行する必要があります

そしてhttpd.confでmod_rewriteを有効にすることを忘れないでください:

LoadModule rewrite_module libexec/Apache2/mod_rewrite.so

それ以外の場合は500エラーになります。

これらの設定が何を表しているのかわかりませんが、これで問題は解決しました。お役に立てれば。

1
user2557759

私は、ローカル開発サーバーとリモートロケーションの両方で、WordPressマルチサイトに関して同じ問題を抱えていました。

別のネットワークを作成しても問題ありませんでした。 [ダッシュボード]または[訪問]をクリックしたときに、ブラウザから404エラー(見つかりません)が返されました。私は何度も新しいサイトを削除/再インストールしました...エラーは変わりません。

データベースをチェックしました。 wpx_(xはidを表します)が追加されました。

私が検索した情報によると、WPによってサブディレクトリは追加されません。データベースで確認されているように、それらは仮想です。

私は以下をしました:

  1. Wp-config.phpを編集して以下を含めます。define( 'WP_ALLOW_MULTISITE'、true);マルチサイトを有効にします。
  2. [ツール] - > [ネットワーク設定]をクリックして新しいサイトをインストールします
  3. Wp-config.phpと.htaccessの情報をそれぞれのファイルにコピーしました。
  4. サブディレクトリとして新しいサイトを追加しました
  5. すべてのサイトを見た
  6. 「ダッシュボード」または「訪問」をクリックしました。7エラー404が表示されました。

私は検索し、インターネットを調べ、解決策を試しました。どれもうまくいきませんでした。問題は書き換え規則にあると思います。しかし、データベーステーブルは作成されました。これは私を困惑させるものです。

私はマルチサイトをあきらめています。

より簡単なトラブルシューティングのためのスクリーンショットが添付されています: wp-config.php.png  および .htaccess.png 

任意の助けは大歓迎です。

サニ

0
megsani

コーデックスによると、これらのhtaccessルールはマルチサイト https://codex.wordpress.org/htaccess 用です。

Subfolder Example

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

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

SubDomain Example

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]

それが私がホステッドサイトで問題なく使用したものです。

0
Rick Hellewell