web-dev-qa-db-ja.com

WP-Adminがサブディレクトリを持つWordpressマルチサイトで正しく機能しない

私は最近自分のドメインにWordpress Multisite Blogをインストールしました。

サブサイトのwp-adminを除いて、すべて問題なく動作しています。

サブサイトのwp-adminにアクセスできますが、cssがロードされておらず、ナビゲーションリンクをクリックしようとすると「ファイルが見つかりません」というエラーが表示されます。

それはそれにリンクしているからです。 domain.com/subsite/wp-admin/post-new.php - 存在しません。 (domain.com/wp-admin/post-new.phpが存在します)

私はまた、CSSは動作しないと思います、domain.com/subsite/wp-admin/load-styles.phpとload-scripts.phpが見つかりません

これは/ subsite/wp-adminにアクセスしたときに私がクロム開発者向けツールで得たエラーの一つです。

enter image description here 

どこにでも貼り付けられる標準の.htaccessを使用しています。

    # BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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]
# END WordPress

私は間違いがここになければならないと思いますよね?

念のため、wp-configを実行してください。

<?php

 define('WP_ALLOW_MULTISITE', true);

// ** MySQL settings - You can get this info from your web Host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'XXX');

/** MySQL database username */
define('DB_USER', 'XXX');

/** MySQL database password */
define('DB_PASSWORD', 'XXX');

/** MySQL hostname */
define('DB_Host', 'XXX');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY', XXX);
define('SECURE_AUTH_KEY',XXX);
define('LOGGED_IN_KEY',XXX);
define('NONCE_KEY',        XXX);
define('AUTH_SALT',        XXX);
define('SECURE_AUTH_SALT', XXX);
define('LOGGED_IN_SALT',   XXX);
define('NONCE_SALT',       XXX);
/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'XXX';

/**
 * 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.
 *
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);


define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'mydomain.com');
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');

define( 'WP_ALLOW_MULTISITE', true );

define ('FS_METHOD', 'direct');
?>
3
schescher

バージョン3.0から3.4.2までのWordPress Multisiteをインストールした場合は、正しい.htaccessファイルの内容があります。

ただし、新しいバージョン(3.5以降)から始めた場合、最近WordPress Multisiteをインストールしたばかりの場合は、.htaccessファイルは次のようになります。

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]

あなたの質問ではあなたのURLはexample.com/site/wp-adminの形式であるので、私はあなたがサブフォルダーモードでMultisiteを使っていると仮定します。 ( 編集: また、投稿されたwp-config.phpファイルごとに間違いなくサブフォルダーになっています。)

詳細は .htaccessのコーデックスページ を参照してください。

2
Pat J