最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

htaccess - Why specific file directory fails to redirect but its parent folder succeeds?

programmeradmin0浏览0评论

I activated multisite using subdirectories on my old WordPress site, and I created a new site (say my-example/new-site/).

I found links such as my-example/new-site/wp-content/mu-plugins/css/ can redirect to my-example/wp-content/mu-plugins/css/, however, my-example/new-site/wp-content/mu-plugins/css/style.css won't redirect and will throw out a 404 error, this leads to the site loading errors.

I was so confused, and tried hard refreshing sites, clearing cookies, but it didn't work.

The .htaccess file

# BEGIN WordPress
<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>

# END WordPress

I activated multisite using subdirectories on my old WordPress site, and I created a new site (say my-example/new-site/).

I found links such as my-example/new-site/wp-content/mu-plugins/css/ can redirect to my-example/wp-content/mu-plugins/css/, however, my-example/new-site/wp-content/mu-plugins/css/style.css won't redirect and will throw out a 404 error, this leads to the site loading errors.

I was so confused, and tried hard refreshing sites, clearing cookies, but it didn't work.

The .htaccess file

# BEGIN WordPress
<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>

# END WordPress
Share Improve this question asked May 8, 2019 at 2:33 Guoyang QinGuoyang Qin 1314 bronze badges 2
  • "my-example/new-site/wp-content/mu-plugins/css/ can redirect to my-example/wp-content/mu-plugins/css/" - I'm not sure what you mean by that? There should be no "redirect" occurring here? – MrWhite Commented May 8, 2019 at 10:53
  • 1 @MrWhite According to rule RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L], the redirect will occur. – Guoyang Qin Commented May 8, 2019 at 17:53
Add a comment  | 

1 Answer 1

Reset to default 1

After trying a million of ways, I contacted the super admin and asked for permission to log into WP Engine, our host. I found there is a Multisite setting too. So I clicked "convert to multisite", and, bang! the error is resolved. Subsites can work properly now.

发布评论

评论列表(0)

  1. 暂无评论