子目录的多站点404错误

时间:2014-11-03 作者:Smiter

我正在尝试创建一个多站点作为子目录,并且我已经按照“T”的网络说明进行了操作。多站点似乎设置正确。htaccess和wp配置。php文件似乎是正确的,我能够进行网络设置,但是当我转到我的多站点页面时,它出现了404错误-未找到。这也会阻止我登录此站点的管理端。

我的主站点仍然运行良好,我可以登录到那里的管理端,在插件的帮助下,我可以访问和操作数据库。所有新创建的表都在那里,多站点URL和选项似乎都是正确的。

我已经核实了。htaccess文件与Wordpress中的内容匹配。我已经核实了的适当位置。htaccess(public\\u 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\');

5 个回复
最合适的回答,由SO网友:sladda 整理而成

我也有同样的问题。

My solution: 已编辑/etc/apache2/sites enabled/000默认值。形态。它需要看起来像:

<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>
它起作用了!

SO网友:user2557759

我也遇到了同样的问题-wordpress多站点目录-404新站点仪表板和站点页面错误,管理站点和仪表板正常工作。

我的问题是在apache配置中-/etc/apache2/httpd.conf. 需要做的事情\'AllowOverride All\' 在第节下<Directory "/Users/user1/Sites">

不要忘记在中启用mod\\u rewritehttpd.conf:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
否则会产生500个误差。

我不知道这些配置代表什么,但这解决了我的问题。希望这有帮助。

SO网友:Rick Hellewell

根据WordPress,这些htaccess规则适用于多站点https://wordpress.org/support/article/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]
这就是我在托管网站上毫无问题地使用的内容。

SO网友:Jesse Gyger

我也有同样的问题,我什么都试过了!我发现我的htaccess文件前面没有点!我正在使用windows,不知怎么的,这个点被删除了。

要在Windows中的文件前添加点,请重命名该文件。htaccess。windows将删除最后一个点,保留第一个点。

SO网友:jgangso

我想提到一个潜在的原因,这很明显,但实际上很难发现:在子站点URL的路径部分使用了不允许的字符。

As stated in the WordPress Codex:

Site Address: 仅允许使用字符a-z和0-9。

在子目录路径中使用不允许的字符(例如点)使重写规则成为。htaccess文件未触发,导致服务器404响应。

在专业的WordPress项目中工作了几年,我觉得自己至少在这个主题上有点能力,但必须承认,我只花了2-3个小时调试这个问题,然后意识到我犯了一个初学者的错误。:)

结束

相关推荐

包含帖子类型和分类的.htaccess重写规则

我正在尝试重写此url www.domain。com/图库/?大学=伯明翰,以便于搜索引擎优化,如www.domain。com/uni/伯明翰/画廊(?university=birmingham)代表分类法,图库是post类型。目前这个url(www.domain.com/gallery/?university=birmingham)运行良好,它显示了正确的帖子,只是没有成功地将其改写为上面的帖子我尝试过这样做(应该可以):RewriteEngine On RewriteRule ^uni/([0