Ich habe kürzlich ein Wordpress Multisite-Blog auf meiner Domain installiert.
Alles funktioniert gut, bis auf wp-admin der Unterwebsites:
Ich kann auf wp-admin einer Unterwebsite zugreifen, aber CSS wird nicht geladen. Wenn ich versuche, auf einen Navigationslink zu klicken, wird der WordPress-Fehler "Datei nicht gefunden" angezeigt.
Das liegt daran, dass es mit z.B. domain.com/subsite/wp-admin/post-new.php - was nicht existiert. (domain.com/wp-admin/post-new.php existiert)
Ich denke auch, dass CSS nicht funktioniert, domain.com/subsite/wp-admin/load-styles.php und load-scripts.php können nicht gefunden werden
Hier ist einer der Fehler, die ich in den Chrome-Entwicklertools beim Besuch von/subsite/wp-admin erhalte
Ich verwende den Standard .htaccess, der überall eingefügt wird:
# 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
Ich denke, der Fehler muss hier sein, oder?
Hier ist wp-config - nur für den Fall:
<?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');
?>
Wenn Sie WordPress Multisite ab Version 3.0 bis 3.4.2 installiert haben, ist der Inhalt der .htaccess
-Datei korrekt.
Wenn Sie jedoch mit einer neueren Version (3.5 oder höher) begonnen haben - und ich gehe davon aus, dass Sie dies getan haben, wenn Sie WordPress Multisite kürzlich installiert haben - sollte Ihre .htaccess
-Datei folgendermaßen aussehen:
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]
Ich gehe davon aus, dass Sie Multisite im Unterordnermodus verwenden, da Ihre URL in Ihrer Frage die Form example.com/site/wp-admin
hat. ( Edit: Außerdem ist mir gerade aufgefallen, dass es sich definitiv um einen Unterordner handelt, den Sie in Ihrer wp-config.php
-Datei gepostet haben.)
Weitere Informationen finden Sie auf der Seite Codex unter .htaccess
.